以下のコードで、constメンバ関数内で、メンバポインタとメンバ参照の値を変更できます。
なぜ可能なのでしょうか。
コンパイラ: MSVC Update 2
C++
1#include <iostream> 2 3class Base { 4public: 5 Base(int& r, int* p) : rr(r), pp(p) {} 6 void operator()(int v) const { 7 rr = v; 8 *pp = v; 9 } 10 int& rr; 11 int* pp; 12}; 13 14int main() { 15 int d = 1; 16 int dd = 1; 17 Base base(d, &dd); 18 base(2); 19 std::cout << base.rr << " " << *base.pp << std::endl; 20}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/05 12:00