int a[] = {1,3,5,7,9}; std::for_each(std::begin<int>(a), std::end<int>(a), [&](int n) {cout << n;}); //这样会把13579输出来。
二、
C++11扩大了初始化列表的适用范围,使其可用于所有内置类型和用户定义的类型。无论是初始化对象还是某些时候为对象赋新值,都可以使用这样一组由花括号括起来的初始值了。使用初始化列表时,可添加=,也可不添加。
//定义一个变量并初始化 int units_sold=0; int units_sold(0); int units_sold={0}; //列表初始化 int units_sold{0}; //列表初始化
当初始化列表用于内置类型的变量时,这种初始化形式有一个重要特点:如果我们使用列表初始化值存在丢失信息的风险,则编译器将报错:
long double ld=3.1415926536; int a={ld},b={ld}; //错误:转换未执行,因为存在丢失信息的风险 int c(ld),d=ld; //正确:转换执行,且确实丢失了部分值
三、
1. 问题:
2. 方案
3. 资源: