初始化列表:
目录
初始化列表:
一、变量
二、数组
三、指针
在初始列表方案中为什么用 { } 而不是(),原因如下:
一、变量
对变量进行初始化如下举例
int main()
{
int a=10;
int b(10);
int c=int(10);
//在c11中还可以:
int d={10};
int e{10};
return 0;
}
二、数组
对数组进行初始化如下举例
int ar[]={1,2,3,4,5};
int br[]{1,2,3,4,5};
三、指针
对指针进行初始化如下举例
int *p=NULL;
int *s{NULL};
在初始列表方案中为什么用 { } 而不是(),原因如下:
如果不给出初始值,那么默认值应为0,例如:
int c{};
int *p{};
double dx{};
以上三种都为0,但是如果是用()如下:
int b();
系统会说b为未定义标志符
真实原因是:如果我们需要调用某一函数,在调用前需要事先声明,例如:假设有一自定义函数fun(),在调用它之前我需要事先声明 int fun(); 但是如果定义b:int b(); 编译器不会报错,它会默认是函数声明,而不是变量的初始化。
总而言之,在C++中将内置类型统一为一种形式进行初始化,初始化列表 { }



