我在 C++ 代码中看到的一些方法是这样的结构:
void Class::method1(int &a);
并被称为:
int a;
class->method1(a);
但有时我会看到如下结构:
void Class2::method2(int* a);
这些方法是这样调用的:
int a;
class2->method2(&a);
我知道在第一种情况下,该方法接受变量的地址,而在第二种情况下 - 指向变量的指针,对吗?
有人可以向我解释这两种方法有什么区别,什么时候使用?
此外,在第一个示例中,方法似乎可以采用“int& a”或“int a”,在这两种情况下,我们都会以相同的方式调用它:int a; 类->方法1(a);? 这似乎令人困惑。
谢谢。