ポインタと参照
ポインタと参照は似て非なるもので、JavaとかからC/C++に入ると混乱するところかもしれない。
class CHoge { public: CHoge(int a, int b) { _a = a; _b = b; } int& getA(){ return _a; } int* getB(){ return &_b; } private: int _a; int _b; }; int main(int argc, char *argv[]) { CHoge* hoge = new CHoge(100,100); int& a = hoge->getA(); a = 200; printf("a=[%d]", hoge->getA() ); int* b = hoge->getB(); *b = 200; printf("b=[%d]", *hoge->getB() ); *--b = 300; printf("a=[%d]", hoge->getA() ); }
a=[200]b=[200]a=[300]
こう書くとわかりやすいだろうか。