2010-09-30 55 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个字节。