我有一個小問題,不完全理解我想要做的事情的語法。見下:動態數組變化的內存地址位置
float* ParticleSystem::GetMinLifeTime()
{
return &minLifeTime;
}
我想聲明一個動態數組,然後更改元素0的值指向minLifeTime內存位置。我嘗試迄今已:
float* lifeTimeNumbers = new float[LIFETIME_STRINGS_SIZE];
lifeTimeNumbers[0] = *activeParticleSystem->GetMinLifeTime();
我的思想的理解是將其添加到陣列時,我提領該值。這不是我想要的。我真的想將lifeTimeNumbers [0]的內存位置更改爲由GetMinLifeTime()返回的內存位置。我可以做這樣的事嗎?
乾杯
你需要了解如何進行分配,被放置在內存中。代碼中的分配行將創建一個連續的內存塊,其中包含浮點數。浮點值的索引爲'i'的內存地址將是(sizeof float)小於索引爲'i + 1'的浮點值的內存地址。 **你不能改變**。所以,要麼你的數組是指針,但是每個引用都需要取消引用影響速度的指針,或者你需要兩個變量。一個是指向浮點的指針,另一個是浮點數組。如果你詳細說明你想要的內容,回答起來會更容易。 –
我基本上想要一個我誤解了如何聲明的指針數組。我已經設法解決這個問題,但感謝您的幫助。 – Bushes