个人开发基本原则
cpp
构造函数
- 不要在构造函数中注册任何回调;
- 不要在构造函数中把 this 传给跨线程的对象
1
因为在构造函数执行期间对象还没有完成初始化,如果 this被泄露(escape)给了其他对象(其自身创建的子对象除外),那么别的线程有可能访问这个半成品对象,这会造成难以预料的后果
智能指针
- shared_ptr 是管理共享资源的利器,需要注意避免循环引用,通常的做法是 owner 持有指向 child 的 shared_ptr, child 持有指向 owner 的 weak_ptr。
- std::bind 拷贝的是实参类型,不是形参类型
c
linux
- /usr/include/netinet/tcp.h 中的 tcp_info 获取连接的状态数据信息
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!