传递参考和传递之间的差异和*?

时间:2009-10-30 00:29:49

标签: c++

传递引用和使用C指针表示法有什么区别?

void some_function(some_type& param)

void some_function(some_type *param)

由于

2 个答案:

答案 0 :(得分:7)

当您将指针传递给子例程调用中的变量时,该变量的地址将传递给子例程。要访问子例程中的变量,必须取消引用指针。

当您传递对变量的引用时,编译器会在将变量传递给子例程并取消引用子例程中的变量时负责获取变量的地址。

答案 1 :(得分:6)

  • 您无法获得NULL引用:仅此一项就可以为您提供更多安全性
  • 您可以将您的引用视为对象:您可以取消引用它或您需要的任何内容。

基本上你处理一个安全指针就像它是你自己的对象一样。