请参阅以下内容:
struct A
{
std::string* get() const
{
//return const_cast<std::string*>(&m_pObj);
return &const_cast<A*>(this)->m_pObj;
}
std::string m_pObj;
};
const_cast
是取消引用this
UB吗?是否有任何时间取消引用const_cast
指针的常量的结果不会调用 UB?
(我知道上面的例子是不好的做法,不好的设计,可以用 mutable 解决 - 这不是重点)