イテレータ、ポインタ関連の仕様に関してつまづいてしまったので質問です。
C++
1 list<Position> ps; 2 ps.push_back(Position(0,0)); 3 Position p1 = *(ps.begin()); 4 p1.x = 100; 5 auto p2 = ps.begin(); 6 (*p2).y = 100; 7 cout<<ps.begin()->x<<" "<<ps.begin()->y<<endl;
このコードを実行すると、出力結果が 0 100 になるのはなぜなのでしょうか。
自己解決は難しいと判断しました。おたすけください。
念の為Positionのコードも載せておきます。
C++
1class Position{ 2public: 3 int x; 4 int y; 5 Position(int x_, int y_){ 6 x = x_; 7 y = y_; 8 } 9};
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/21 06:02
2019/05/21 06:02
2019/05/21 06:05
2019/05/21 06:06
2019/05/21 06:10