C++11学习笔记
更新于:A.D.2022.04.01
参考资料
- 《C++ Primer Plus》
- 《C++ Primer》
- https://zh.cppreference.com
C++11功能
新类型
long long
unsigned long long
char16_t
char32_t
原始字符串
统一的初始化
缩窄
std::initializer_list
声明
auto
decltype
返回类型后置
模板别名:using=
nullptr
智能指针
异常规范方面的修改
作用域内枚举
对类的修改
显式转换运算符
explicit
类内成员初始化
模板和STL方面的修改
基于范围的for循环
int p[5] = {1,2,3,4,5};
for(int x : p) std::cout << x << std::endl;
for(auto x : p) std::cout << x << std::endl;
//---
std::vector<int> v(10);
for(auto & x : v) x = 1;
右值引用
& 左值引用
&& 右值引用
移动语义和右值引用
新的类功能
Lambda函数
[](int x) { return x/2; }
auto div2 = [](int x) { return x/2; }
//---
[](double x) -> double{ int y = x; return x - y; }
//---
int x = 0;
[&x](int a) { x += a; }
//---
int x = 0, y = 0;
[&](int a) { x += a; y += a; }
包装器
可变参数模板
其他新功能
本文由 落影汐雾 原创,采用 保留署名-非商业性使用-禁止演绎 4.0-国际许可协议
本文链接:https://x.lyxw.xyz/2022/C++11/