正如您在下面我将要提供的示例中看到的那样,我同时使用通过引用和通过地址...
#include<iostream>
#include<string>
void passByAddress(int *a);
void passByReference(int &a);
int main() {
int betty = 21;
int setty = 45;
passByAddress(&betty);
passByReference(setty);
std::cout << "Betty : " << betty << std::endl;
std::cout << "Setty : " << setty << std::endl;
}
//Pass By Adress
void passByAdrress(int *a) {
*a = *a + 5;
//Memory Adress of a.
//So gives hexa decimal.
std::cout << "Address : " << a << std::endl;
//Actual Value of adress
std::cout << "Address's Value : " << *a << std::endl;
}
//Pass By Reference
void passByReference(int &a) {
a = a + 5;
//Memory Address of a.
//So gives hexa decimal.
std::cout << "Adrress : " << &a << std::endl;
//Actual Value of address
std::cout << "Address's Value " << a << std::endl;
}
所以在这里我真的不明白使用 passbyaddress 和 passbyreference 的区别..虽然我理解这两者和 Pass By Value 之间的区别(因为按值传递传递变量的副本而不是内存地址),我不明白这两者有什么区别。很多人只是说“使用传递引用更好”,或者“一直使用传递引用,除非你必须使用传递地址”。但我想知道真正的区别,所以我可以决定哪个在我以后的项目中使用。
谢谢你。