广州尚观科技——c++基础知识:const
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相关推荐
- 广州尚观科技:C++基础知识: this指针
每个类对象内部都有一个指针变量指向自己本身, 这个指针变量名为this,权限是private,只能在类的内部访问. this指针可用于获取当前对象的地址. 1 2 #include<iostre ...
- 尚观科技java培训 - 笔记学习体系大纲
第一次: 1.安装 VNC-5.3.0-Windows 与讲师屏幕视频一致. 2.尚观整个学习体系大纲 ①java语言 语法 排序 数据结构 面向对象 继承封装多态借口 多线程 3个项目 数 ...
- 尚观科技是什么_尚观科技 - 主页
${content} 你输入的邮件地址曾经通过${type}激活了本站帐号,请使用${type}帐号直接登录. 课程习题 : 提示 请选择一个答案 提交 查看正确答案 下一题 ${option}: $ ...
- JAVA培训注重趣味引导 尚观推出免费体验活动
目前,IT职业培训在国内可谓如火如荼,就业.高薪.定向委培等推广手段竞相出台,让人看得眼花缭乱.面对众多培训机构,学员和家长显得不知如何选择,一片茫然. 据一位正准备选择IT培训机构的学生讲,他非常希 ...
- 尚观linux视频配套教程,尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备...
尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备 5.jpg (67.09 KB, 下载次数: 0) 2018-4-16 09:34 上传 1.jpg (44.17 ...
- IT:银行类金融科技岗笔试习题集合—各大行(工商+建设+农业+浦发+招商+平安+人民+邮政银行)计算机信息科技岗笔试集合(包括计算机基础知识+网络+操作系统+数据库系统原理)
IT:银行类金融科技岗笔试习题集合-各大行(工商+建设+农业+浦发+招商+平安+人民+邮政银行)计算机信息科技岗笔试集合(包括计算机基础知识+网络+操作系统+数据库系统原理) 导读:因为博主后台留言太 ...
- 《炬丰科技-半导体工艺》微泡基础知识及其在半导体清洗中的应用
书籍:<炬丰科技-半导体工艺> 文章:微泡基础知识及其在半导体清洗中的应用 编号:JFKJ-21-1069 作者:炬丰科技 介绍 小气泡显示出与普通气泡不同的行为.普通气泡在水中急速浮起, ...
- 尚观python培训_尚观Python基础入门学习,资源教程下载
课程名称 尚观Python基础入门学习,资源教程下载 课程介绍 Python开发是目前很多朋友选择学习的一门技术,在大家学习的同时,楼主在这里给大家分享了一个运维python视频教程,需要的朋友可以下 ...
- 尚硅谷python核心基础教程笔记-第一章 计算机基础知识
第一章 计算机基础知识(视频1-10) 课程介绍 课程名称:Python基础视频教程 讲师:尚硅谷教育,李立超(lichao.li@foxmail.com) 面向的层次:From Zero to He ...
最新文章
- Selenium 爬虫时遇到的问题 Selenium message:session not created
- win7 安装wget
- GOPATH与工作空间
- 【Laravel Cache】 配置redis 存储缓存,通俗易懂,一次就掌握
- C语言编写一个赋值程序,实验2 用C语言编写简单程序——2.1 基本数据处理.doc
- 170821-关于SpringMVC的知识点
- mysql8.0root连接失败_mac 下jdbc连接mysql 8.0 失败
- virtualbox虚拟机安装Ubuntu异常处理:FATAL: NO bootable medium found! System halted
- STM32工作笔记0050---端口复用和重映射
- Linux时间不准确的问题![转]
- 【NOIP2005】【Luogu1051】谁拿了最多奖学金
- Altium Designer库文件与Protel 99SE库文件转化
- 计算机硬盘的内存单位换算,内存的单位换算
- Golang go mod 使用
- KinectSDK + Unity3D学习总结
- powerdns 安装部署备忘
- 电脑版微信提示音mp3_短的微信提示音什么好?40首好听的微信提示音试听下载...
- 软件测试 | 测试方案怎么写
- 【Zynq UltraScale+ MPSoC解密学习1】Zynq UltraScale+的基本介绍
- VC6使用GdiPlus绘制png图片
热门文章
- java学生信息管理系统(附源码)
- 图像处理滤波器(五)——斑点滤波器(Speckle Removal Filter)
- bestcoder #77 xiaoxin juju needs help
- JavaSE核心技术——流程控制语言练习题
- Qt实现串口通信(C++实现串口通信小助手)---串口收发及串口数据解码、串口通信模拟器。
- MCU-DFLASH-ECC错误
- D-LINK DWL-2000AP+A配置过程
- [bzoj4861]魔法咒语
- 快速回复软件,请查收!
- java狗具有特别的接飞盘的方法_训练狗接飞盘,让你快速见成效的5个方法