C++ コードで見られるメソッドのいくつかは、次の構造になっています。
void Class::method1(int &a);
次のように呼び出されます。
int a;
class->method1(a);
しかし、時々私は次のような構造を見ます:
void Class2::method2(int* a);
そして、これらのメソッドは次のように呼び出されます。
int a;
class2->method2(&a);
最初のケースではメソッドが変数のアドレスを受け入れ、2番目のケースでは変数へのポインタを受け入れることを理解していますよね?
これら2つのアプローチの違いと、どちらをいつ使用するかを誰かに説明してもらえますか?
また、最初の例では、メソッドは "int& a" または "int a" を取ることができるようですが、どちらの場合も同じように呼び出します: int a; class->method1(a); ? これは紛らわしいようです。
ありがとう。