原文:为什么static数据成员一定要在类外初始化?(转)

.避免重复定义和初始化 lt lt c primer gt gt 说在类外定义和初始化是保证static成员变量只被定义一次的好方法。 但,为什么static const int就可以在类里面初始化呢 想起C中一个函数里定义一个static变量是为了保证只初始化一次。 那么,是否可以这样理解: static数据成员在类外定义和初始化是为了保证只被定义和初始化一次,这样编译器就不必考虑类的函数里面 ...

2013-09-17 22:55 0 10726 推荐指数:

查看详情

为什么static成员变量一定要在初始化?

为什么静态成员不能在初始化? 在C++中,的静态成员static member)必须在内声明,在初始化,像下面这样。 或者只进行定义不赋初始值,但是默认值是否是0,可能会与具体的编译器有关吧? 为什么? 因为静态成员属于整个,而不属于某个对象,如果在初始化 ...

Wed Jul 01 02:16:00 CST 2020 0 1122
C++的静态成员变量一定要初始化(分配内存)

文章转载自https://my.oschina.net/u/1537391/blog/219432 https://blog.csdn.net/vict_wang/article/details/80994894 我们知道C++的静态成员变量是需要初始化的,但为什么要初始化呢。其实这句 ...

Thu Apr 30 16:26:00 CST 2020 0 1478
C++ 中的static成员初始化和特点

C++ 中的static成员初始化和特点 #include <iostream> using namespace std; class Test { public: Test() : y(1), r(y), d(3){} //对于常量型成员变量和引用型成员变量 ...

Fri Mar 15 22:46:00 CST 2019 0 1947
C++中静态成员变量要在外部再定义或初始化的原因

C++中静态成员变量要在外部再定义或初始化,否则会产生错误。 class A { public: static int a; }; int A::a=0;   为什么要在的外部进行定义的原因: 1. 在中,只是声明了静态变量,并没有定义。 2. 声明只是表明了变量 ...

Tue Sep 25 00:04:00 CST 2018 0 3338
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM