2010-09-30 57 views
2

喜是新來的Visual C++,可能有人請解釋什麼ConfParams()宣佈的結構確實C++ Declspec對準

__declspec(align(BYTE)) struct ConfParams 
{ 
    BOOL m_timeout; 
    DOUBLE m_caution; 
    ConfParams();  
} 

回答

3

可能有人請解釋什麼ConfParams()聲明中的結構做

這是一個構造函數聲明。

除了默認的可訪問性級別structclass以外的C++是等效的。 struct默認擁有public成員,class默認擁有private成員。


我不清楚爲什麼你的主題引用__declspec但如果這就是你想知道什麼see here

成員函數沒有對齊只有數據受到影響。

+0

謝謝,我看到構造函數被定義在一個結構中感到困惑。不太確定它是否與__declspec有關。 – yoshi99 2010-09-30 19:06:19

1

谷歌表示

http://msdn.microsoft.com/en-US/library/83ythb65%28v=VS.80%29.aspx

「使用__declspec(對齊(#))來精確地控制用戶定義的數據的對準(例如,靜態分配或自動數據中的功能)」

它將使編譯器在字節邊界上啓動每個實例。沒有它,實例會在機器的自然邊界上對齊 - 這可能是4個字節。