首先,struct不能声明无参的构造函数, 是因为编译器默认会给我声明一个无参的并初始化成员?
但是这样我感觉更加麻烦了,例如我有:
struct s
{
int m_i ;
short m_s;
}
我必须先初始化一个s obj,然后obj.m_i=3; obj.m_s=2 这样来赋值
不能像class那样,变量声明后面直接给一个初始值。而class是可以这样做的。
所以我不明白的地方是,为什么struct不让我在声明成员变量的时候给个初始值,这样做的好处或者出发点是什么?
看不出来这种限制产生的原因!