如何正确地将类的常量性扩展到其指向的成员变量?在示例代码中,get方法的常量版本是否会创建一个引用计数与内部成员变量m_b
相同的std::shared_ptr
,还是从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()
,类似于标准容器的cbegin()
和cend()
方法(http://en.cppreference.com/w/cpp/container/vector/begin)。 - filipos