如果输入参数采用“指针传递”,那么加 const 修饰可以防止意外地改动该指针,起 到保护作用。 1#include <iostream>23/*run this program using the console pauser or add your own getch, system("pause") or input loop*/4usingnamespacestd;5//定义栈的尺寸6constintSIZE =100;78//定义处理栈的类模板接口...
而指向const的指针则不能,只能指向同一类型的数据,但是可以采用强制类型转换,初始化或者赋值过程中对数据类型没有要求,可以是const对象的地址,也可以是非const对象的地址。 const引用和指向const对象的指针都是使自己指向的对象不能修改,采用const的指针或者引用就能避免原始数据修改。 That's all....
由以上输出可以看到,通过修改const成员函数返回的引用或指针可以修改对象内部的值。这与const函数只能读取内部数据成员(加mutable的数据成员不包括在内)是否相矛盾呢?const函数本身是不会修改数据成员的,但是通过它的返回值可以在外部修改对象内部数据。如果对象是non-const的,这种情况还可以接受;但是如果对象是const的,这...
char指针数组初始化成了字符串常量数组,常量在常量区中,不可更改,所以必须用const修饰。早期C/C++并没有硬性要求,因此编译器最多只会warning,如果用较新的编译器或者GCC,G++,必然报错
const a &aa相当于一个const对象,由于const对象在调用成员函数的时候,会将this指针强行转换为const this,所以它将无法找到相应的const show()函数,并且编译器也无法将一个const的对象转化为一个普通对象来调用这个普通的show()方法,所以就会产生如题的编译错误。
const加在指针前面和加在指针后面的区别 https://blog.csdn.net/jwhazt/article/details/90266492 分类: C++ 好文要顶 关注我 收藏该文 微信分享 代号870 粉丝- 0 关注- 10 +加关注 0 0 升级成为会员 « 上一篇: C++面试 » 下一篇: 面向对象的3大特征,5大基本原则 ...
如果输入参数采用“指针传递”,那么加 const 修饰可以防止意外地改动该指针,起 到保护作用。 1#include <iostream>23/*run this program using the console pauser or add your own getch, system("pause") or input loop*/4usingnamespacestd;5//定义栈的尺寸6constintSIZE =100;78//定义处理栈的类模板接口...
const a &aa相当于一个const对象,由于const对象在调用成员函数的时候,会将this指针强行转换为const this,所以它将无法找到相应的const show()函数,并且编译器也无法将一个const的对象转化为一个普通对象来调用这个普通的show()方法,所以就会产生如题的编译错误。
0 评论次数: 0 文档热度: 文档分类: 待分类 系统标签: const指针getit对象转换引用 对象引用前加const报错-不能将“this”指针从“const a”转换为“a,, 君,已阅读到文档的结尾了呢~~ 立即下载相似精选,再来一篇 任熏儿 分享于2012-09-14 06:39
const a &aa相当于一个const对象,由于const对象在调用成员函数的时候,会将this指针强行转换为const this,所以它将无法找到相应的const show()函数,并且编译器也无法将一个const的对象转化为一个普通对象来调用这个普通的show()方法,所以就会产生如题的编译错误。