class A
{
float m_Period; // a1
float m_Scale; // a2
};
我可以有指針這樣的數據成員:陣列指針數據成員
float A::*pFloat;
對於週期原因手柄構件的我需要這樣的指針的陣列。這個怎麼做。
class A
{
float m_Period; // a1
float m_Scale; // a2
};
我可以有指針這樣的數據成員:陣列指針數據成員
float A::*pFloat;
對於週期原因手柄構件的我需要這樣的指針的陣列。這個怎麼做。
要麼std::vector<float A::*> pFloats;
要麼是,如果需要編譯器計數初始化程序的數量,需要靜態初始化,float A::*pFloat[] = {...};
。
typedef float A::*member_t;
現在,你可以聲明一個數組或member_t
vector
。
你不需要typedef。 (根據使用情況,它可能會使事情變得更加清晰,但是這樣的東西像'typedef float * FloatPtr'這樣的東西。我不是很喜歡的東西。) –
沒錯,並沒有使用typedef「stokes of」std: :vector
是的。這是一個非常重要的判斷。聲明不需要括號的事實使我傾向於不使用typedef,因爲您確實需要知道它是指向A成員的指針。但我可能傾向於使用這樣的typedef少得多相對於其它的;如果我需要像你這樣的類型,我更有可能以完全避免類型的方式重寫代碼。 –
爲什麼不把成員'a1','a2'等等放入一個數組中,'a'? –