zoukankan      html  css  js  c++  java
  • C++函数参数为引用或指针

    • 引用或指针作为形参与普通形参的区别?
      引用或者指针作为函数形参,可以在函数中改变实参的值。普通形参只是实参的拷贝副本,函数中修改形参并不能修改实参的值。
    • 函数参数用引用或指针  的情况?
      1)当需要在函数中修改实参的值时;
      2)当无法实现对象复制时;如:拷贝构造函数的参数必须用本类对象的引用;
      3)当实参为大型对象时,复制回耗费时间和空间;

    • 引用和指针作为形参可以改变实参的值,那么当实参的值不允许修改或者不需要修改时,能不能使用引用或者指针作为形参呢?
      当然可以!只需加上const关键字即可实现。如:const int &a,const int *a 表示无法通过形参的引用或者指针修改实参的值。

    • 什么情况下引用或指针作为形参时,必须有const?
      当实参为const型常量或者为字符串常量等常量时,形参可以是普通形参,也可以是引用或指针。
      形参如果使用引用或者指针,则必须使用const型引用或指针。否则会编译报错,类型不匹配。因为引用或者指针可以改变实参的值,而实参为常量,不允许改变。可以看成是对于变量的约束可以变强,但是不能变弱。
      形参如果为普通形参时,则不需要使用const,因为普通形参只是对实参的复制,在函数中如何修改都不会影响到常量实参。
  • 相关阅读:
    PHP 文件写入和读取(必看篇)
    FormData
    JAVA中使用MD5加密实现密码加密
    使用JSONObject生成和解析json
    spring的@Transactional注解详细用法
    获取当前运行函数和方法的名字
    getattr的使用
    python socket编程入门级
    python字典解析
    我看到的最棒的Twisted入门教程!
  • 原文地址:https://www.cnblogs.com/beaglebone/p/5725950.html
Copyright © 2011-2022 走看看