• 何时使用引用参数


    使用引用参数的主要原因

    • 程序员能够在函数中修改调用函数参数中的数据对象
    • 通过传递引用而不是整个数据对象,可以提高程序的运行速度。尤其是当数据对象较大时,如结构和类对象。

    对于使用传递的值而不作修改的函数:

    1. 如果数据对象较小,如内置数据类型或者小型结构,则按值传递。
    2. 如果数据对象是数组,则只能使用指针,并且将指针声明为指向const的指针。
    3. 如果数据对象较大,则使用const指针或者const引用,节省复制结构所需的时间和空间。
    4. 如果数据对象是类对象,则使用const引用。类设计的语义常常要求使用引用。这是C++增添引用这个特性的主要原因。

    对于修改调用函数中数据的函数

    1. 如果数据对象是内置数据类型,则使用指针。
    2. 如果数据对象是数组,则只能使用指针。
    3. 如果数据对象是结构,则使用引用或者指针。
    4. 如果数据对象是类对象,则使用引用。

    使用引用参数,应尽可能使用const

    • 使用const可以避免无意中修改数据的编程错误。
    • 使用const使得函数能够处理const和非const实参。否则将只能接收非const数据。
    • 使用const引用使函数能够正确生成并使用临时变量。

    继承的一个特征是,基类引用可以指向派生类对象,而无需进行强制类型转换。所以,在函数的引用参数设置时,可以定义一个接受基类引用作为参数的函数。调用函数时,可以将派生类对象作为实参。

    将基类引用作为参数,编写函数中参数被用到的数据和特性,派生类必定全部都具有。所以派生类对象作为实参,只会使用或修改它从基类继承下来的特性。

    而反过来,派生类有很多基类所不具有的特性,将基类对象作为实参,不能提供这些特性,函数无法正常运行。

  • 相关阅读:
    [转]群控电梯调度算法
    [转] 电梯调度算法总结
    [转]grub2.0和之前版本修复解决方案
    [转]Ubuntu 10.04 编译安装最新版本Linux2.6.34内核
    [转]PS2 键盘工作方式
    [转]个人管理 - 目标管理之前,你会时间管理吗
    [转]ubuntu 下编译内核简单步骤
    [转]关闭Google安全搜索,实现无限制搜索
    [转]Vim 复制粘贴探秘
    [转]Linux文件搜索
  • 原文地址:https://www.cnblogs.com/xyqhello/p/3525797.html
Copyright © 2020-2023  润新知