经过4个月的努力,终于把《C++ Primer》的第5版看完了,第5版增加了C++11的内容。个人喜欢追随新东西,因此下一步学习目标新标准C++14。
我将发表一系列C++14的学习笔记,欢迎大家指出错误。
在看《C++ Primer》的过程中我就是用VC2015来运行代码的,经过我的亲自试验,VC2015对C++11的支持是很好的,
至少《C++ Primer》中提到的特性全部都支持。因此我将继续用VC2015学习C++14,看看它对C++14支持到什么程度。
泛型Lambda
C++11中引入了Lambda表达式,但是必须将形式参数声明为具体的类型。而在C++14中,我们可以使用auto作为形式参数的类型说明:
//代码1.1
auto lam = [](auto x, auto y)
{
return x + y;
};
当我们使用Lambda表达式时,编译器会自动推导参数和返回值类型:
//代码1.2
auto a = lam(3, 4); //a为int
auto b = lam(4.8, 9.5);