C++ 智能指针的实现
1. shared_ptr 的特性
shared_ptr内部维护一个引用计数,当创建、copy、销毁时,引用计数都会变化
(1) 拷贝构造函数 p(q),会递增q的引用,p和q指向同一个对象
shared_ptr<string> q = make_shared<string>[......]
shared_ptr内部维护一个引用计数,当创建、copy、销毁时,引用计数都会变化
(1) 拷贝构造函数 p(q),会递增q的引用,p和q指向同一个对象
shared_ptr<string> q = make_shared<string>[......]
CAS, compare-and-swap, 原子的比较和设置变量值。
#include <stdio.h>
#if defined(__linux__) || defined(__unix__)
#define CAS32(ptr, val_old, val_new[......]
std::bind1st 和 std::bind2nd将二元函数转换为一元函数,具体用法参加下面的代码。
代码介绍了两种使用方式,第一种是使用std::less和std::greater,第二种是使用自定义的仿函数。
#include <iostream>
#include <ve[......]