C++11 一致性初始化与初值列

1. 一致性初始化(Uniform Initialization)与初值列(Initialization list)

   C++11 引入了一致性初始化概念,意思是面对任何初始化动作,你都可以使用相同的语法,也就是使用大括号,以下皆成立

    int values[] {1,2,3};

    std::vector v{1,2,3};

    std::vector cities { "China","London"};

初值列(initializer list)会强迫造成初始化

       int i;  // i has undefined value;

       int j{}; // j is initialized by 0;

       int *p; // p has undefined value;

       int * q{}; // q is initialized by nullptr;     



你可能感兴趣的:(C++11)