之前学习C++的时候没有记得做好笔记,现在重新补做!!!!!
1、普通变量的初始化
因为C语言是C++子集,自然包含了所有C语言的特性,所以在C语言的基础之上又新增了属于C++自己特性的初始化方式,以C++11标准来说明:
(1)int a = 10; // 这种是最熟悉的方式,是从C中继承过来的
(2)int a (10); // 使用一个小括号将初始化的数值括起来,a与小括号之间有无空格都行
(3)int a {10}; // 使用一个中括号将初始化的数值括起来,a与中括号之间有无空格都行
2、数组的初始化
一定要注意,不管是在C或者是C++中,数组必须是在定义的时候才能使用初始化,这个与普通变量是不一样的。
(1)int a[5] = {0, 1, 2, 3, 4}; // 这种方式在C中是最常见的,在C++中同样也是支持的,但是并不是使用最多的
(2)int a[5] {0, 1, 2, 3, 4}; // 这种方式应该在C++中用的是最多的,同样这里的空格有无都行
(3)int a[5] = {}; // 表示将数组中所有元素初始化为0
(4)int a[5] {}; // 表示将数组中所有元素初始化为0
(5)int a[5] {0};
(6)int a[5] {1}; // 表示第一个元素为1,其余全为0
3、列表初始化用在new表达式中
int *ar = new int[4] {0, 1, 2, 3}; // 表示定义一个int类型的指针,指向一个堆内存中分配的数组的首地址。
最后再说一个C++中的随用随定义的特性,也就是在哪里使用变量就在哪里定义就行了,而不必像C中那样必须全部定义到最前面,当然在C中也并不是说只能把变量定义在最前面,
这个与编译器有关,不同的编译器继承了不同的C标准,例如在Linux下的gcc也是支持随用随定义的特性的。