# 结构化绑定
```
array<int, 3> values = {11, 22, 33}
auto [x, y, z] = values
//! struct
struct Point {
double mX, mY, mZ
}
Point point {1.0, 2.0, 3.0}
auto [x, y, z] = point;
```
# 初始化列表 Initializer List 和 统一的初始化方法
~~~
所有STL容器都支持初始化列表,如下:
std::vector<int> v = { 1, 2, 3 };
std::list<int> l = { 1, 2, 3 };
std::set<int> s = { 1, 2, 3 };
std::map<int, std::string> m = { {1, "a"}, {2, "b"} };
#include <initializer_list>
class A {
public:
B(const std::initializer_list<int>& items)
: m_items(items)
{}
private:
std::vector<int> m_items;
};
//统一初始化
A a1 = { 1, 2, 3 };
// 或者
A a2{ 1, 2, 3 };
~~~
- c++基础
- 官方在线文档
- auto typename decltype类型推导
- c++常用关键字
- 取消变量未使用警告
- 变量类型
- 字面量
- 指针和引用
- 统一初始化 结构化绑定
- foreach遍历
- using使用
- alignas alignof
- 模板
- 引用和完美转发
- 逗号表达式
- 异常 try catch
- string和string_view
- c++程序退出
- 函数参数类型和个数
- lambda
- 单例模式
- c++标准库
- 文档库
- cmath 算数库
- utilities
- array 数组
- vector 动态数组
- 变量类型推断function
- 正则表达式
- 随机数
- 多线程并发
- cout输出格式化
- 常用std函数
- hash定制
- c++使用第三方库实列
- google glog日志库
- gtest单元测试
- 线程池
- c++ rpc
- Mongoose网络协议
- cpp-httplib
- json ⚡ - JSON for Modern C++
- JeayeSON c++14
- ini文件解析库
- libuv uvw
- boost
- https://www.boost.org/doc/libs/1_79_0/
- ptree ini json xml
- dll
- lockfree
- socket
- cpp serial
- c++常用库列表
- c++常用调试技巧
- 死锁
- valgrind使用
- gdb
- core 生成
- c++编程总览