为什么不能给类里面的非static非const变量赋初值class X {int i = 5; //Error } 从内存的布局来说,类里面的static和const变量也不能赋初值,static const变量却可以。 我知道这是C++的规定,但谁能解释一下本质的原因?
类是一个抽象的概念,也只有我们定义类对象的时候我们才有内存存储我们定义的数据! static和const修饰的变量,前者在类外定义,后者在初始化列表中初始化!static const成员声明在类里,在.cpp里进行定义及初始化。int型的static const变量可以在类里进行定义并初始化 |
为什么不能给类里面的非static非const变量赋初值
最新推荐文章于 2023-11-04 18:10:20 发布