C++中,const与&修饰函数形参的可能情况有四种;C语言中,情况只有1)和3)两种。

1) string str

这是最普通的传值调用,首先对原str进行一次拷贝,会调用拷贝构造函数。str可以被修改,但修改的只是复制的值,而不会影响到本身的str。

2) string &str

这是引用,传递过来的就是str本身,在函数里修改str的话都会修改str本身,但不会调用拷贝构造函数。

3) const string str

传值调用,str是复制的值且不能被修改,但会调用拷贝构造函数。

4) const string &str

引用传递,str不能被修改,而且也不会调用拷贝构造函数。

数组作为函数形参时,不能用const或者&修饰,而且在函数中修改数组的值会影响到数组本身。

const与修饰函数形参相关推荐

  1. const 修饰函数参数,返回值,函数体,保护数据

    一.const 介绍 1.const 定义 const 修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的. 2.const 目的 const 推出的初始目的,正是为了取代预编译指令,消除 ...

  2. const 修饰函数参数,返回值,函数体

    看到const 关键字,C++程序员首先想到的可能是const 常量.这可不是良好的条件反射.如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮.const 更大的魅力是它可以修饰函数的 ...

  3. private修饰的变量如何调用_梳理c++ const 修饰函数

    const是衡量一个程序员是否老道的一个标准,除了修饰变量之外,还可以修饰函数,主要有以下几种形式 const int& fun(int& a); //修饰返回值 int& f ...

  4. c++day03 const修饰函数是修饰谁

    大家好,我是阿林.今天我和大家分享的内容是c++中的const的修饰的对象的内容. 我想提出一个问题,我定义的void opVar(int a, int b) const这个函数中const修饰的是谁 ...

  5. C语言 const 修饰函数参数 - C语言零基础入门教程

    C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...

  6. const函数形参char *

    语言环境:C语言 IDE:codeblocks 编译器:MinGW const关键字的这里不做赘余叙述. 下面探讨下const修饰char *的函数形参时的三种情况. 第一种 const修饰的字符串指 ...

  7. 梳理c++ const 修饰函数

    const是衡量一个程序员是否老道的一个标准,除了修饰变量之外,还可以修饰函数,主要有以下几种形式 const int& fun(int& a); //修饰返回值 int& f ...

  8. C++ const修饰函数、函数参数、函数返回值 浅析

    const修饰函数 在类中将成员函数修饰为const表明在该函数体内,不能修改对象的数据成员而且不能调用非const函数.为什么不能调用非const函数?因为非const函数可能修改数据成员,cons ...

  9. 成员函数的const究竟修饰的是谁

    demo <pre name="code" class="cpp">class Test { public:const void OpVar(int ...

最新文章

  1. Eclipse插件CheckStyle的安装和使用
  2. efficientransac_【泡泡图灵智库】基于图割优化的RANSAC算法(CVPR)
  3. Python基础教程:赋值、深拷贝与浅拷贝(内存地址)
  4. ffplay.c学习-5-视频输出和尺⼨变换
  5. Angular里遇到的一个依赖注入问题以及解决办法
  6. K8S Learning(5)——Pod
  7. php 数组区删除重复的,php – 从数组中删除重复的项目
  8. 云原生数据库如何打造业务弹性
  9. Android应用开发系列课程------ViewPager与ViewFlipper较量
  10. STM32 利用空闲中断接收数据
  11. 性能测试搭建Jmeter分布式压测与监控
  12. docker下载出现异常 dial tcp: lookup ngc.download.nvidia.cn: no such host
  13. 2015,鬼王Xun和GGL比赛,带给我们无尽的欢乐
  14. HTML5新增---新知
  15. 怎么用python将日期转化为数字_python转化excel数字日期为标准日期操作
  16. linux修改网卡名称命令,linux修改网卡名称
  17. Python常见面试题总结
  18. C++17尝鲜:fold expression(折叠表达式)
  19. js算法 字母大小写转换
  20. python用cartopy包画地图_python – 使用Cartopy在地图上显示图像时的投影问题

热门文章

  1. linux防火墙为空文件夹,如何记录Linux IPTables防火墙丢弃的数据包到日志文件-linux防火墙设置...
  2. linux文件恢复dbf,linux平台下数据文件被误删后,如何及时得知并进行恢复-dbf文件怎么打开...
  3. java事件 socket_java中有关socket通信的学习笔记
  4. mfc 禁用子菜单_MFC界面开发难上手?BCGControlBar v30.3帮你忙—工具栏和菜单
  5. hnu 暑期实训之愚人节的礼物
  6. Parencodings 模拟
  7. 第 19 次 CCF CSP 认证 202006-4 1246(digits)
  8. Python——如何获得字符串的唯一编码
  9. 机器学习 Machine Learning中向量化矩阵化的技巧
  10. ubuntu 下安装和配置selenium