前提

  • 效率

  • 可读性

基本类型(int, char, …)

  • 传入,则pass by value

  • 传入传出,则pass by pointer

非基本类型

使用指针

  • 传出或传入传出参数,可以显式地知道该值会发生变化

  • 当参数可以接受NULL值时(若只作为传入,最好加上const)

  • 当返回一个新对象(new)的引用时,意味着,调用者需要释放该对象

  • 当作为类数据成员时

使用引用

  • 传入参数不可以为NULL

参考

  1. http://stackoverflow.com/questions/270408/is-it-better-in-c-to-pass-by-value-or-pass-by-constant-reference
  2. http://stackoverflow.com/questions/7058339/when-to-use-references-vs-pointers

留言