位置: IT常识 - 正文

c++常见关键字总结(c++32个关键字详解)

编辑:rootadmin
前言 ​本系列是对常见的重要c++关键字的备忘录,也许未注意到某些用法,但会不断完善。某些关键字不适合出现于此,在后面的篇章如分析类,STL,异常时会讲到。如有瑕疵,还请不吝赐教! const const的作用:被const修饰的值理论上不能改变,为只读语义,且因为创建后const对象无法改变,需 ... 前言

推荐整理分享c++常见关键字总结(c++32个关键字详解),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:c++语言中的关键字,c++语言中的关键字,c++20 关键字,c++语言中常用的关键字含义,c ++关键字,c++语言中的关键字,c++常用关键字,c++关键字及其含义,内容如对您有帮助,希望把文章链接给更多的朋友!

​本系列是对常见的重要c++关键字的备忘录,也许未注意到某些用法,但会不断完善。某些关键字不适合出现于此,在后面的篇章如分析类,STL,异常时会讲到。如有瑕疵,还请不吝赐教!

const

const的作用:被const修饰的值理论上不能改变,为只读语义,且因为创建后const对象无法改变,需要在定义阶段必须为他赋初值,初值可以任意复杂的表达式,修饰的常量只能作用于当前模块

但const并非完全不能改变,在定义变量时加上volatile关键字,通过指针间接修改。这是因为加上volatile编译器不会进行优化,以下例子中*pt和a都是从堆栈也就是内存中取值;而不加上volatile,编译器将进行优化,节省访问内存的时间,输出a的值时将直接从符号表取出

在后面会提到volatile关键字,作用是告诉编译器不要对此句进行优化,每次都去内存取值

volatile const int a = 1;int* pt = (int*)(&a);*pt = 100;

const 可以定义编译期常量,也可以定义运⾏期常量

默认情况下,const对象仅在文件内有效,多个文件出现了同名的const对象,相当于在不同文件中分别定义了独立的对象

不能使用字面值初始化一个非常量引用.因为引用是变量的别名

int& a = 0;//错const int& b = 1;//对

指针常量(顶层const)表示指针本身是个常量,一旦指定了对象,便不可改变,且指针必须在定义时初始化

形式:

数据类型* const 指针 = 变量名

例子:

int a = 0;int b = 1;int* const pt = &a;pt = &b;//错*pt = 1;//对

常量指针(底层const)定义一个指针,该指针不可以修改其所指对象的值

c++常见关键字总结(c++32个关键字详解)

形式:

数据类型 const * 指针 = 变量名const 数据类型* 指针 = 变量名

例子:

int a = 0;const int* p1 = &a;int const* p1 = &a;*p1 = 10; //错a = 10; //对函数

​当形参为const时,实参可传入const类型,也可传入不为const类型,也就是说当用实参初始化形参时,顶层const会被忽略掉。不能改变形参的值

//重复定义函数void fcn( int i );void fcn( const int i ){ i == 2;//错}int a = 0;const int b = 1;fcn( a );//对fcn( b );//对

​一个拥有顶层const的形参无法和没有顶层的const的形参区分开,因此当我们传入区别只是是否为const类型的对象时,在函数中是等价的。但是如果形参是引用或指针,此时const为底层,因此可以区别

例子:

//顶层const,两个函数等价int func1( A );int func1( const A );//底层const,两个函数重载int func1( A* );int func1( const A* );类

​const类对象不可以调用非const成员函数,而普通类可以调用const成员函数

为什么不可以呢?因为this指针是指针常量但并不是常量指针,其并不具备底层const,也就是它的含义是 A* const this,如果成员函数改变了类对象的成员而类对象是const,这是不合理的

const A a;//func为a中的非const成员函数a.func();//错

​在类的成员函数参数本来带有一个隐藏的this指针,这个指针属于指针常量,若再在参数后面跟一个const,这个指针不仅是指针常量,还是常量指针,若函数并不改变this所指对象,我们应尽可能将this设置为常量指针

类型:const Class* const this

例子:

class A{public: int intFunc() const { return i1 };private: int i = 0;}

​类的成员函数返回*this,返回类型为&类对象并且成员函数为const类型,需要注意,我不可以用这样的成员函数的返回值对象来调用其他要改变类对象的值的函数,因为此时成员函数的返回值为常量对象

例子:

class A{public: A& set( char c ) { //改变类对象的成员的值 return *this } A& display() const { //展示类对象的成员 return *this; }}//调用A a;a.display().set('c');//错,因为此时display返回的常量对象,而set会修改对象的成员的值

const成员函数有两个作用:

为提升程序的健壮性,只要这个成员函数不会让类对象改变,我们就要将其设计为const成员函数为了配合const类对象

​成员函数是否为const,是两个函数,也就是其可以重载。因为带const版本的主要是提供给const类对象调用

//对。const成员函数可以重载void func1() const;void func1();//调用非const版本A a;a.func1();const A ca;ca.func1(); //调用const版本

​若const成员函数返回类型是引用类型,则必须是const引用

class A{public: int& func1() const { return val; }//错,这里this指针为常量指针,而返回值非常量private: int val = 1;}

​构造函数不可以

本文链接地址:https://www.jiuchutong.com/zhishi/310183.html 转载请保留说明!

上一篇:python中如何基于numpy创建矩阵(基于python语言)

下一篇:Js如何存储执行上下文(js怎么存储数据)

  • 哔哩哔哩订阅的频道在哪里(哔哩哔哩订阅的合集怎么取消)

    哔哩哔哩订阅的频道在哪里(哔哩哔哩订阅的合集怎么取消)

  • 英伟达录屏怎么开(英伟达录屏怎么设置中文)

    英伟达录屏怎么开(英伟达录屏怎么设置中文)

  • 淘宝怎么申请价保(手机淘宝怎么申请价格保护)

    淘宝怎么申请价保(手机淘宝怎么申请价格保护)

  • 引导式访问下怎样关机(引导式访问怎么使用)

    引导式访问下怎样关机(引导式访问怎么使用)

  • 在抖音给同一个人连续点赞会怎样(抖音给同一个主播刷礼物的人一般能坚持多久)

    在抖音给同一个人连续点赞会怎样(抖音给同一个主播刷礼物的人一般能坚持多久)

  • iphonex自动调节亮度失灵(苹果x显示自动调节)

    iphonex自动调节亮度失灵(苹果x显示自动调节)

  • tdlte流量费怎么产生的(traffic流量)

    tdlte流量费怎么产生的(traffic流量)

  • 苹果11打字怎么换行(苹果11打字怎么设置手写)

    苹果11打字怎么换行(苹果11打字怎么设置手写)

  • 红米note7左边喇叭不响(红米note7左边喇叭为什么没有声音?)

    红米note7左边喇叭不响(红米note7左边喇叭为什么没有声音?)

  • 支付宝nfc在哪里(支付宝nfc在哪里开启)

    支付宝nfc在哪里(支付宝nfc在哪里开启)

  • iphonex有nfc功能可以关联门禁卡吗(nfc功能苹果x有没有)

    iphonex有nfc功能可以关联门禁卡吗(nfc功能苹果x有没有)

  • 华为手机怎样黑屏后时间显示(华为手机怎样黑屏拍视频)

    华为手机怎样黑屏后时间显示(华为手机怎样黑屏拍视频)

  • 乐视手机怎么设置锁屏(乐视手机怎么设置屏幕常亮)

    乐视手机怎么设置锁屏(乐视手机怎么设置屏幕常亮)

  • miui11第二批什么时候(miui12.5第二批什么时候)

    miui11第二批什么时候(miui12.5第二批什么时候)

  • 微信为何能自动登录(微信为何能自动录入语音)

    微信为何能自动登录(微信为何能自动录入语音)

  • qq颜值配对怎么查看喜欢我的人(qq颜值配对怎么聊天)

    qq颜值配对怎么查看喜欢我的人(qq颜值配对怎么聊天)

  • 小度在家能当监控吗(小度在家能当监控摄像头用吗怎么开没有显示屏)

    小度在家能当监控吗(小度在家能当监控摄像头用吗怎么开没有显示屏)

  • 删了好友再加回来巨轮还在吗(删了好友再加回来聊天记录还能恢复吗)

    删了好友再加回来巨轮还在吗(删了好友再加回来聊天记录还能恢复吗)

  • 链家app如何看降价房(链家降价房源怎么查看)

    链家app如何看降价房(链家降价房源怎么查看)

  • 笔记本字母键盘解锁(笔记本字母键盘变成数字了,怎么关闭)

    笔记本字母键盘解锁(笔记本字母键盘变成数字了,怎么关闭)

  • 苹果MAC系统中Fusion Drive相关使用教程图解(mac符号在哪里)

    苹果MAC系统中Fusion Drive相关使用教程图解(mac符号在哪里)

  • 在win7中,IE打开链接总是新窗口打开怎么办?(初中英语的学科知识与能力主要考什么)

    在win7中,IE打开链接总是新窗口打开怎么办?(初中英语的学科知识与能力主要考什么)

  • 如何使用Vscode开发Uni-app项目以及注意事项详解(vscode怎么开始编程)

    如何使用Vscode开发Uni-app项目以及注意事项详解(vscode怎么开始编程)

  • 雷斯岬国家海岸公园里的柏树隧道,美国加利福尼亚州 (© Spondylolithesis/Getty Images)(雷斯岬国家海岸公园有信号吗)

    雷斯岬国家海岸公园里的柏树隧道,美国加利福尼亚州 (© Spondylolithesis/Getty Images)(雷斯岬国家海岸公园有信号吗)

  • 小微企业所得税费用怎么算
  • 取得的证券投资业绩
  • 企业所得税减免所得税额计算公式
  • 环境保护税的应税污染物有哪些
  • 不动产增值税税率变化
  • 耕地占用税的征收标准
  • 增值税的视同销售行为有哪些
  • 专利在审可以入库吗
  • 收取违约金需要什么条件
  • 因员工过失造成第三方损失
  • 职工福利基金提取规定
  • 扶贫费用事业单位账务处理怎么做?
  • 闲置资金怎么说?
  • 专用设备抵免企业所得税目录
  • 免税销售额扣除项目本期实际扣除额
  • 农村合作社开的鸡蛋免税票可以抵进项税吗?
  • 国税代开普通发票现需作废需要哪些资料?
  • 投资大收益小,怎么办?
  • 总包劳务工资发什么科目
  • 小规模纳税人废品站卖废品发票开什么项目
  • 预收房款属于什么科目
  • 无偿取得票据的持票人不享有追索权
  • 没有金税盘怎么查询已开发票
  • 业绩补偿协议
  • 餐饮业代金券怎么用
  • 小规模纳税人增值税税收优惠政策
  • 付款交单和承兑交单对卖方来说都有一定风险
  • 公司+农户经营模式是什么意思
  • windows10一直刷屏
  • php基础入门
  • 冲减预付款
  • php中??
  • linux怎么打开makefile
  • 坎伯兰森林西部
  • 临时工工资计入哪里
  • 电子发票记账清单入账
  • 补付转账支票会退回吗
  • 可以抵扣的项目有哪些
  • 小规模场地租赁费税率是1还是5
  • maven jni
  • 后处理作用
  • 最强大的人工智能武器
  • 万科金域华府二手房房源
  • 资产证券化会计处理案例
  • python偏函数理解
  • 首涂第二十一套模板
  • 织梦痣铃表情太到位
  • 应付现金股利属于什么账户
  • 企业累计预扣个税是什么
  • 开票有误重新开票怎么做分录
  • 人力资源行业税收优惠
  • 公司收到生育津贴不给员工
  • 收到季度房租需要分摊吗
  • 股东分红会计分录
  • 公司账户转账转错了能退回来吗
  • 汽车固定资产清理怎么交税
  • 免税发票怎么抵扣
  • 百分百控股收益都是股东的么
  • 执行企业会计准则的非上市企业
  • 房屋租赁公司装修费会计分录
  • 变更公司名称后银行如何做
  • oracle的账户
  • win10能玩dota
  • win7鼠标右键一闪就没了
  • Win10自带输入法打不出中文
  • 有没有软件恢复
  • 在windows7中,下列叙述中错误的是
  • 进程 电脑
  • win7系统电脑卡住了怎么办
  • 如何在win7系统中查看电脑基本信息
  • Win10 Mobile RedStone预览版14267已知问题与修复内容汇总
  • shell脚本实现文件重命名
  • jquery选择器总结
  • eclipse折叠代码块if else工具
  • 税务工作秘密管理暂行办法
  • 港澳台资企业
  • 企业所得税减按90%计入收入总额
  • 企业年金个人缴费比例越高越好吗
  • 抚州到崇仁火车时刻表
  • 个税3月份申报2月的个税?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设