C++理论梳理4——函数接口

C++理论梳理4——函数接口

函数的输入

  • 按值传递
    将实参复制给形参。被调函数在形参上做处理,而不在实参上做处理。

  • 按址传递(引用&)
    可理解为变量的别名。传递的是实参地址,因此可在实参上做处理。

  • 按址传递(指针*)
    传递的是实参地址,因此可在实参上做处理;
    注意:要做空指针判断(NULL),保证代码稳健性。

  • 总结
    降低内存消耗,和被调函数修改主函数时,建议使用按址传递。

函数的返回值

  • 按值传递
    绝大多数情况下,被调函数使用按值传递。
  • 按址传递(static)
    如果使用static(局部静态变量),该变量不会在函数结束后释放内存,此时可以按址传递。

总结

涉及作用域和作用时间(本质是内存的管理),参见C++理论梳理5——变量的作用域和作用时间。

猜你喜欢

转载自blog.csdn.net/IHTY_NUI/article/details/109088254