const关键字表示限定为只读

const int *p ; //表示不能通过指针变量p来改变地址上的值

我们需要写一函数仅仅是接收参数的地址,而不会改变它的值时,就可以使用const.

如一个函数:

void func(constStudent * p); 这样反映出我们需传递Student变量的地址,函数里面不改变它的值,而且我们在传递前,必须初始化变量的值.

char *strcpy(char*dest, const char *src); 可看出src仅仅是取值,不会改变的。而dest没有const的修饰,则会改变它指向空间上的内容.

Int *const p;//表示不能改变指针变量指向的地址.

在c++里的函数成员也可以加上const修饰符,可以限定此函数体内不能改变类对象的所有属性成员.

如:

1

2 #include<iostream>

3

4 using namespacestd;

5

6 class MyCls {

7 private:

8 string name;

9 int id;

10

11 public:

12 MyCls(conststring name)

13 {

14 this->name = name;

15 }

16

17 stringget_name() const

18 {

19 id = 88; //这里对属性成员进行操作

20 returnname;

21 }

22 };

23

24 int main(void)

25 {

26

27 return 0;

编译时发生的错误:

[root@localhost08const]# g++ test.cpp

test.cpp: In memberfunction ‘std::string MyCls::get_name() const’:

test.cpp:19:6:error: assignment of member ‘MyCls::id’ in read-only object

id = 88;

^

C++的函数成员带const修饰符,除了限定函数体内不能改变属性成员的值(局部变量这些还是可以改的)外, 还反馈出此函数仅仅是用于获取属性成员的值.

广州尚观科技——c++基础知识:const相关推荐

  1. 广州尚观科技:C++基础知识: this指针

    每个类对象内部都有一个指针变量指向自己本身, 这个指针变量名为this,权限是private,只能在类的内部访问. this指针可用于获取当前对象的地址. 1 2 #include<iostre ...

  2. 尚观科技java培训 - 笔记学习体系大纲

    第一次: 1.安装 VNC-5.3.0-Windows 与讲师屏幕视频一致. 2.尚观整个学习体系大纲 ①java语言  语法 排序  数据结构  面向对象  继承封装多态借口 多线程 3个项目  数 ...

  3. 尚观科技是什么_尚观科技 - 主页

    ${content} 你输入的邮件地址曾经通过${type}激活了本站帐号,请使用${type}帐号直接登录. 课程习题 : 提示 请选择一个答案 提交 查看正确答案 下一题 ${option}: $ ...

  4. JAVA培训注重趣味引导 尚观推出免费体验活动

    目前,IT职业培训在国内可谓如火如荼,就业.高薪.定向委培等推广手段竞相出台,让人看得眼花缭乱.面对众多培训机构,学员和家长显得不知如何选择,一片茫然. 据一位正准备选择IT培训机构的学生讲,他非常希 ...

  5. 尚观linux视频配套教程,尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备...

    尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备 5.jpg (67.09 KB, 下载次数: 0) 2018-4-16 09:34 上传 1.jpg (44.17 ...

  6. IT:银行类金融科技岗笔试习题集合—各大行(工商+建设+农业+浦发+招商+平安+人民+邮政银行)计算机信息科技岗笔试集合(包括计算机基础知识+网络+操作系统+数据库系统原理)

    IT:银行类金融科技岗笔试习题集合-各大行(工商+建设+农业+浦发+招商+平安+人民+邮政银行)计算机信息科技岗笔试集合(包括计算机基础知识+网络+操作系统+数据库系统原理) 导读:因为博主后台留言太 ...

  7. 《炬丰科技-半导体工艺》微泡基础知识及其在半导体清洗中的应用

    书籍:<炬丰科技-半导体工艺> 文章:微泡基础知识及其在半导体清洗中的应用 编号:JFKJ-21-1069 作者:炬丰科技 介绍 小气泡显示出与普通气泡不同的行为.普通气泡在水中急速浮起, ...

  8. 尚观python培训_尚观Python基础入门学习,资源教程下载

    课程名称 尚观Python基础入门学习,资源教程下载 课程介绍 Python开发是目前很多朋友选择学习的一门技术,在大家学习的同时,楼主在这里给大家分享了一个运维python视频教程,需要的朋友可以下 ...

  9. 尚硅谷python核心基础教程笔记-第一章 计算机基础知识

    第一章 计算机基础知识(视频1-10) 课程介绍 课程名称:Python基础视频教程 讲师:尚硅谷教育,李立超(lichao.li@foxmail.com) 面向的层次:From Zero to He ...

最新文章

  1. Selenium 爬虫时遇到的问题 Selenium message:session not created
  2. win7 安装wget
  3. GOPATH与工作空间
  4. 【Laravel Cache】 配置redis 存储缓存,通俗易懂,一次就掌握
  5. C语言编写一个赋值程序,实验2 用C语言编写简单程序——2.1 基本数据处理.doc
  6. 170821-关于SpringMVC的知识点
  7. mysql8.0root连接失败_mac 下jdbc连接mysql 8.0 失败
  8. virtualbox虚拟机安装Ubuntu异常处理:FATAL: NO bootable medium found! System halted
  9. STM32工作笔记0050---端口复用和重映射
  10. Linux时间不准确的问题![转]
  11. 【NOIP2005】【Luogu1051】谁拿了最多奖学金
  12. Altium Designer库文件与Protel 99SE库文件转化
  13. 计算机硬盘的内存单位换算,内存的单位换算
  14. Golang go mod 使用
  15. KinectSDK + Unity3D学习总结
  16. powerdns 安装部署备忘
  17. 电脑版微信提示音mp3_短的微信提示音什么好?40首好听的微信提示音试听下载...
  18. 软件测试 | 测试方案怎么写
  19. 【Zynq UltraScale+ MPSoC解密学习1】Zynq UltraScale+的基本介绍
  20. VC6使用GdiPlus绘制png图片

热门文章

  1. java学生信息管理系统(附源码)
  2. 图像处理滤波器(五)——斑点滤波器(Speckle Removal Filter)
  3. bestcoder #77 xiaoxin juju needs help
  4. JavaSE核心技术——流程控制语言练习题
  5. Qt实现串口通信(C++实现串口通信小助手)---串口收发及串口数据解码、串口通信模拟器。
  6. MCU-DFLASH-ECC错误
  7. D-LINK DWL-2000AP+A配置过程
  8. [bzoj4861]魔法咒语
  9. 快速回复软件,请查收!
  10. java狗具有特别的接飞盘的方法_训练狗接飞盘,让你快速见成效的5个方法