您的位置:首页 > 其它

为什么不能给类里面的非static非const变量赋初值

2013-04-18 22:47 246 查看


为什么不能给类里面的非static非const变量赋初值

class X {
    int i = 5;  //Error
}
从内存的布局来说,类里面的static和const变量也不能赋初值,static const变量却可以。
我知道这是C++的规定,但谁能解释一下本质的原因?

类是一个抽象的概念,也只有我们定义类对象的时候我们才有内存存储我们定义的数据!

static和const修饰的变量,前者在类外定义,后者在初始化列表中初始化!

static const成员声明在类里,在.cpp里进行定义及初始化。int型的static const变量可以在类里进行定义并初始化
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: