初学C++,关于变量初始化的疑点
初学C++,关于变量初始化的疑问
int main()
{
int i = int();
cout << i << endl; //0
int* j = new int(); //0
cout << *j << endl;
int* k = new int; //随机值,为什么呢?
cout << *k << endl;
int j;
cout << j << endl; //随机值,可能导致程序崩溃?
}
1.C++基本数据类型其实也相当于类么?int i = int()相当于调用默认的构造函数?初始化为0?
2.int j = new int; 不加括号就不是调用构造函数么?为什么是随机值?
3.C++变量使用之前没有初始值的话可能导致程序崩溃(VS2008中确实崩溃了),为什么呢?随机值导致越界?
初学C++,还请前辈指点~~~
------解决方案--------------------
赵老师,人家的问题您倒是给个解答啊!
int main()
{
int i = int();
cout << i << endl; //0
int* j = new int(); //0
cout << *j << endl;
int* k = new int; //随机值,为什么呢?
cout << *k << endl;
int j;
cout << j << endl; //随机值,可能导致程序崩溃?
}
1.C++基本数据类型其实也相当于类么?int i = int()相当于调用默认的构造函数?初始化为0?
2.int j = new int; 不加括号就不是调用构造函数么?为什么是随机值?
3.C++变量使用之前没有初始值的话可能导致程序崩溃(VS2008中确实崩溃了),为什么呢?随机值导致越界?
初学C++,还请前辈指点~~~
------解决方案--------------------
赵老师,人家的问题您倒是给个解答啊!