列表初始化

C++11将列表初始化(大括号初始化)作为一种通用的初始化方式.可用于所有类型.

数组以前就可以用列表初始化,但 C++11 中的列表初始化新增了一些功能:

  • 初始化数组时,可省略等号.

    double a[4]{1.2,2.1,3.4,1.6};//okay with cxx11
    
  • 可以不再大括号内包含任何东西,这将把所有元素都设置为零.

    unsigned int counts[10]={};//all elements set to 0
    float price[100]{};//all elements set to 0
    
  • 列表初始化进制缩窄转换.

    long plifs[]={25,92,3.0};//not allowed
    char slifs[4]{'h','i',12121212,'\0'};//not allowed
    char tlifs[4]{'h','i',121,'\0'};//allowed
    
posted @ 2022-03-26 17:01  浪客禅心  阅读(54)  评论(0编辑  收藏  举报