C++ 传指针还是引用?

      用C++做了一段时间毕业设计了,突然有一天被困在传指针还是传引用的问题上。后来翻看了《C++ 编程规范》,并结合了项目实际情况,总结出下面结论:

传指针

  • 如果函数保存了地址。例:复制地址给类成员变量、把地址保存在函数内静态局部变量中。
  • 如果参数是可以选的。例:允许传入NULL值。

传引用

  • 如果函数没有保存地址。例:仅修改了参数引用对象。
  • 如果参数是不可选的,并且要求必须提供有效对象做参数。

      如果函数保存了地址,可能在以后直接使用或者修改地址指向的对象。如果使用传引用的话,调用者不知道需要在栈(stack)还是在堆(heap)上分配引用对象资源。一旦调用者传入的引用对象是在栈上,编译器自动回收后,函数保存的地址将不再有效!

      而函数保存了地址时使用传指针,就在提示调用者传入的指针参数指向的对象应当分配在堆上。

      当然也有推荐全部使用传指针的,理由是传值和传引用容易使调用者混淆。我不赞同这个观点,我打算按照上述规则重新修改毕业设计。

原文链接: https://www.cnblogs.com/codingmylife/archive/2010/04/29/1723800.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ 传指针还是引用?

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/10487

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月6日 下午11:46
下一篇 2023年2月6日 下午11:47

相关推荐