09/05/29 17:39:39
>>23
A.method() の内部では A を書き換えないことを保証しているだけ
だから
void test(A& a) { a.method(); } は許される。
逆パターンの
class B {
public:
void method() {}
};
void test2(const B& b) { b.method(); }
これは test2 中の b は const であるにも関わらず
method 呼び出しで b内部変る呼び出しだぜ と判断するからコンパイルエラー