最近翻看C++ primer,又发现了一些关于初始化的点。
默认初始化(未被显式初始化)
- 内置类型(取决于定义的位置)
- 函数体外,初始化为0;
- 函数体内,未定义。
类的对象,如果没有显式的初始化,其值由类决定。
初始化的方式
#include <iostream>
using namespace std;
struct Sales_data
{
double revenue={0};
int i=12;
int j{1};//注意不能使用小括号
int k={7};
Sales_data *my_test;
};
int global_i;
int main()
{
int i(12);
int common=19;
int j{1};
int k={7};
cout<<i<<endl;
cout<<global_i<<endl;
cerr<<"that is a error test;"<<endl;
return 0;
}
注意程序中,四种方法都可以,习惯是数组用第四种,变量用第二种。第一种方法不可用于类内。
int i(12);
int common=19;
int j{1};
int k={7};