学习C++ 11

1. 顶层const表示指针本身是个常量,而底层const表示指针所指向的对象是一个常量,顶层const可以适用于任何数据类型,而底层const只能用于指针和引用等符合类型;

2. 声明constexpr类型时由编译器来验证变量是否是一个常量表达式,constexpr定义了一个常量,只能由字面值类型来初始化;

constexpr in mf = 20;    //  20是常量表达式
constexpr int limit = mf;    // mf是常量表达式
constexpr int sz = size();    // 只有当size是个constexpr函数时正确

3. auto类型说明符,auto声明多个变量时,只能表示一个基本数据类型,且auto会忽略掉顶层const;

// val1和val2相加的结果可以推出item的类型
auto item = val1 + val2;

4. decltype选择并返回操作数的基本数据类型;

// sum的类型就是函数f的返回类型
decltype(f()) sum = x;

 5. 列表初始化:

vector<int> ivec {1, 2, 3, 4};
vector<int> ivec = {1, 2, 3, 4};

 6. begin()和end函数:

// ia是一个含有10个整数的数组
int ia[] = {0, 1, 2, 3, 4, 5, 6};
// 指向ia首元素的指针
int *beg = begin(ia);
// 指向array尾元素的下一个元素的指针
int *last = end(ia);
原文地址:https://www.cnblogs.com/skycore/p/4924339.html