nya*_*108 1 c++ pointers reference smart-pointers
从"一个不应该使用原始指针"成语的角度出发,我正在寻找智能指针来找到哪一个最适合引用关系.
通过引用关系,我的意思与此代码相同:
class A
{
public:
A(B & b) :
m_refB( b )
{ }
private:
B & m_refB; // A refers to B
};
Run Code Online (Sandbox Code Playgroud)
但是没有使用引用的所有缺点(以后不能绑定,不能重新分配,A不能再默认构造等).
然而,每个智能指针以其自己的语义表达所有权概念.它们甚至以这种所有权概念命名(当所有权仅对一个对象是唯一的时,唯一指针,当所有权在更多对象之间共享时共享指针等).
我想表达的是A指的是B,但是A不拥有B.可以std::reference_wrapper< B >做这个工作,或者那是错误的用法吗?
| 归档时间: |
|
| 查看次数: |
133 次 |
| 最近记录: |