【发布时间】:2016-03-21 11:57:30
【问题描述】:
将类的 const 正确性 扩展到其指向的成员的正确方法是什么?在示例代码中,get 方法的常量版本是要创建一个std::shared_ptr,其引用计数器与内部成员m_b 相同,还是从0 重新开始计数?
class A
{
std::shared_ptr< B > m_b;
public:
std::shared_ptr< const B > get_b( ) const
{
return m_b;
}
std::shared_ptr< B > get_b( )
{
return m_b;
}
}
【问题讨论】:
-
您可能还想实现
get_const_b(),类似于标准容器 (en.cppreference.com/w/cpp/container/vector/begin) 的方法cbegin()和cend()。
标签: c++ shared-ptr getter const-correctness