c++ 引用成员变量初始化
class RefDemo{
public:
RefDemo(int& value) : m_value(value)
{
}
int& m_value;
};
注意 RefDemo(int& value) 中参数为int&, 这里容易错误使用为int(错误用法会导致对形参的引用,而不是传入对象的引用)。
enable_shared_from_this
std::enable_shared_from_this 能让一个对象(使用std::shared_ptr<A> pool_obj管理对象obj)安全地生成其他额外的 std::shared_ptr 实例(obj1, obj2, ... ) ,它们与 pool_ojb 共享对象 obj 的所有权。
若一个类 T 继承 std::enable_shared_from_this<T> ,则会为该类 T 提供成员函数: shared_from_this 。 当 T 类型对象 t 被一个为名为 pt 的 std::shared_ptr<T> 类对象管理时,调用 T::shared_from_this 成员函数,将会返回一个新的 std::shared_ptr<T> 对象,它与 pt 共享 t 的所有权。