为什么const PointerToNonConst& value
被理解为A* const
下面的代码:为什么const引用非const指针被解释为const指针?
using PointerToNonConst = A*; // or typedef A* PointerToNonConst;
const PointerToNonConst& value; // compiled and understood as `A* const`
我也希望它是只读的,而不是指针放在常量指针。
BTW这里是一个用例,为什么你会在你的代码满足这样的:
class A
{
public:
void callOnNonConstMethodIsValid()
{
// change the object here
}
}
std::vector<A*> vect;
for (const auto& elem : vect)
{
elem->callOnNonConstMethodIsValid(); // no error
}
当然是'A * const'... – ildjarn