auto
自动类型推断,优点是自动推导,使编码变简单;缺点是可读性差,阅读代码时,不能确定变量的类型。
https://www.cnblogs.com/DswCnblog/p/5629048.html
std::function
unique_ptr
不共享智能指针,不能复制,不能赋值,能转移所有全(move),自动释放
shared_ptr
shared_ptr 是一个标准的共享所有权的智能指针, 允许多个指针指向同一个对象.
weak_ptr
weak_ptr 是一种不控制对象生命周期的智能指针, 它指向一个 shared_ptr 管理的对象. 进行该对象的内存管理的是那个强引用的 shared_ptr. weak_ptr只是提供了对管理对象的一个访问手段. weak_ptr 设计的目的是为配合 shared_ptr 而引入的一种智能指针来协助 shared_ptr 工作, 它只可以从一个 shared_ptr 或另一个 weak_ptr 对象构造, 它的构造和析构不会引起引用记数的增加或减少. weak_ptr 在功能上类似于普通指针, 然而一个比较大的区别是, 弱引用能检测到所管理的对象是否已经被释放, 从而避免访问非法内存。
tcp::resolver
解析器
tcp::endpoint
boost::asio把通讯双方(server, client)都用endpoint的表示,所以endpoint中的address, port 分别封装了ip和端口。貌似resolver和endpoint不相干,于是乎出现tcp::resolver::iterator了,它是resolver的迭代器,其实就是endpoint的指针。通过resolver迭代可以得到多个节点endpoint,比如google 就有好几个ip。
map
Map是STL [1] 的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。
set
set中的元素都是排好序的,set集合中没有重复的元素。map和set的插入删除效率比用其他序列容器高。
vector
vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
网友评论