c++ 变量初始化

定义变量后 没有初始化,则系统会对 某些变量 进行初始化。

某些变量 : 全局变量, 静态变量 命名空间的  (到此 说的都是 内置类型的 变量)。  局部的非静态的变量 不会被初始化 如函数内部的非静态变量。

 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 }

说道变量初始化  还有 显式 和 隐式 之分 在学类的构造函数时 会碰到

 

posted @ 2015-02-10 14:18  茂之  阅读(318)  评论(0)    收藏  举报