标签:
定义变量后 没有初始化,则系统会对 某些变量 进行初始化。
某些变量 : 全局变量, 静态变量 命名空间的 (到此 说的都是 内置类型的 变量)。 局部的非静态的变量 不会被初始化 如函数内部的非静态变量。
1 namespace myspace 2 { 3 int mInt; 4 } 5 6 int main() 7 { 8 //mySpace mInt : 0 9 cout << "mySpace mInt : " << myspace::mInt << endl; 10 return 0; 11 }
对于非内置的类型变量,如类 通过构造函数来初始化。 在类 有默认构造函数的时候 ,不对变量进行初始化, 系统才可能会自动用默认构造函数初始化(默认构造函数 没参), 另一点是 刚才说系统才可能会用默认构造 是因为 若默认构造函数不可访问时 也是不会对变量进行初始化的 如下代码: 默认构造函数 为私有
1 class Tmyclass 2 { 3 public: 4 //... 5 private: 6 Tmyclass() : _int(0) {cout << "Tmyclass default constructor called" << endl;} 7 private: 8 int _int; 9 }; 10 int main() 11 { 12 Tmyclass t1; // error 13 system("pause"); 14 return 0; 15 }
说道变量初始化 还有 显式 和 隐式 之分 在学类的构造函数时 会碰到
标签:
原文地址:http://www.cnblogs.com/-Mohan/p/4283812.html