where are the non-static member variables of a class initialized?
类的非静态成员变量在哪里初始化?
在类声明中还是在构造函数中??谢谢
在构造函数中。构造函数用于初始化类的非静态成员。
1
2 3 4 5 |
class foo
{ static int num; // static variable don’t belong to any particular instance of a class. foo(){} }; |
所以,在对应的源文件中这样操作-
1
|
int foo::num = 10 ;
|
它在构造函数的初始化列表中。如果使用编译器生成的构造函数,那么原理是一样的,只是隐式生成。
最好在构造函数初始化列表中:
http://www.parashift.com/c -faq-lite/ctors.html#faq-10.6
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268883.html