比较指针与引用可以通过以下代码示例进行解释:
#include
void changePointer(int* ptr) {
*ptr = 10;
}
void changeReference(int& ref) {
ref = 20;
}
int main() {
int num = 5;
int* ptr = # // 定义一个指针并将其指向num变量的地址
int& ref = num; // 定义一个引用并将其绑定到num变量
changePointer(ptr); // 传递指针给函数进行修改
std::cout << *ptr << std::endl; // 输出结果为 10
changeReference(ref); // 传递引用给函数进行修改
std::cout << ref << std::endl; // 输出结果为 20
return 0;
}
在上面的示例中,我们定义了一个num
变量,并创建了一个指针ptr
和一个引用ref
来指向该变量。然后,我们定义了两个函数changePointer
和changeReference
,分别接受指针和引用作为参数,并对它们进行修改。
在changePointer
函数中,我们通过解引用指针ptr
来修改num
的值。在main
函数中,我们调用changePointer
函数,并输出指针ptr
指向的值,结果为10。
在changeReference
函数中,我们直接修改引用ref
的值,这实际上是在修改num
变量的值。在main
函数中,我们调用changeReference
函数,并输出引用ref
的值,结果为20。
通过这个例子,我们可以看到指针和引用都可以用来传递和修改变量的值,但它们之间有一些区别。指针可以重新赋值并指向不同的对象,而引用只能绑定到初始化时指定的对象,并且不能重新赋值。此外,指针可以为空,而引用必须始终绑定到一个有效的对象。
上一篇:比较指针与NULL时出错
下一篇:比较值字符串和固定值