21xrx.com
2024-11-08 22:12:51 Friday
登录
文章检索 我的文章 写文章
C++11新特性:数组初始化
2023-07-02 03:08:25 深夜i     --     --
C++11 新特性 数组初始化

C++11作为C++的新标准,引入了许多新特性,其中之一便是数组初始化。

在C++11之前,数组的初始化通常是使用循环来赋值。例如,如果要初始化一个包含5个元素的整数数组,可以使用以下代码:


int array[5];

for (int i = 0; i < 5; i++)

{

  array[i] = i;

}

C++11引入了一种更简单的方法来初始化数组,即使用列表初始化。在列表初始化中,可以使用左花括号和右花括号来包裹一组值,值之间用逗号隔开。例如,要初始化一个包含5个元素的整数数组并将其设置为0、1、2、3、4,可以使用以下代码:


int array[5] = 0;

如果数组元素的数量比初始化列表中的值少,那么剩余的元素会被赋值为0。例如,如果要初始化一个包含10个元素的整数数组,但只提供5个值,则其余5个元素会被赋值为0:


int array[10] = 2;

如果初始化列表中的值的数量比数组元素的数量多,那么编译器会报错。例如,如果要初始化一个包含3个元素的整数数组但提供4个值,则编译器会报错:


int array[3] = 1; // Error!

另一个列表初始化的好处是可以使用花括号来初始化结构体、类和其他类型的对象。例如,如果有一个结构体:


struct Point

  int x;

  int y;

;

则可以使用以下代码来初始化一个Point对象:


Point p = 10;

总的来说,C++11的数组初始化特性为开发人员提供了一种更方便的方式来初始化数组和对象,使代码更加简洁易懂。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复