Avatar ·

C++中指针和引用的区别是什么?请举例说明

大家好!我刚开始学习C++,一直搞不懂指针和引用的区别。书上说两者都是处理内存地址的方式,但行为不同。\n\n我有一个简单的例子。我可以声明一个指针并通过它修改变量的值:\n\n
int a = 5;\nint* ptr = &a;\n*ptr = 10; // 现在 a = 10
\n\n同样我也可以通过引用做到:\n\n
int a = 5;\nint& ref = a;\nref = 10; // 同样 a = 10
\n\n看起来结果是一样的。但我听说引用不能重新赋值,而指针可以。而且引用更安全。但为什么呢?什么时候该用哪个?\n\n特别让我困惑的是,在函数中可以通过指针和引用传递参数。哪种方式更好?有没有必须用指针而引用不行的场景?请用新手能理解的方式解释,最好有代码示例。先谢谢了!\n<<>>\n

主要区别