爲什麼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