文章目录
- 一、关键字及新语法
- 二、STL容器
- 三、多线程
- 四、智能指针
- 五、其他特性
一、关键字及新语法
- 列表初始化:
int a{10}
。 - auto:自动类型推导。
- nullptr:空指针。
- 范围for:
for (auto v : vec)
。
二、STL容器
- vector:动态数组。
- list:双向链表。
- deque:双端队列。
- priority_queue:优先队列。
- map 、set、multiset、multimap:红黑树。
- unordered_map、unordered_set:哈希表。
三、多线程
- thread:线程类。
- condition_variable:条件变量。
- atomic:原子类型。
四、智能指针
- shared_ptr:拷贝一个shared_ptr,计数器都会递增;当我们给shared_ptr赋予一个新值或者shared_ptr被销毁时,引用计数会递减。
- weak_ptr:不增加引用计数,主要是解决循环引用的问题。
- unique_ptr:独占某一个对象,解决了auto_ptr赋值存在的问题
五、其他特性
- lambda表达式:
auto add= [](int a, int b)->int{ return a + b; };
- std::move:
vec.push_back(std::move(val));
- std::function:
function<int(int, int)> f1 = add; //函数指针
; - std::bind:
auto f_wrap = bind(f,x,y,_1,_2); //_1,_2是占位符,x和y是函数f的参数
;