const A* a;和A const * a;是一样的,通常用前者,表示被指针a所指的A对象,不能通过a修改
A* const a;是指a指针是const的不能再指向其他对象
const A* const a;同时包括上两者的含义。
const A& a;和A const& a;是一样的,通常用前者,表示引用a不能修改它所引用的对象。注意:A& const a;的写法是没有意义的,因为引用本身就是不能改变的,没必要再用const说明。
const的指针和引用,只能使用对象的const方法,即在声明中该方法后有const关键字。如果const方法要返回对象的引用或指针,也必须用const修饰,例如 const A& get() const;
非const的指针和引用,则能访问cosnt和非const的方法。
因此,函数通常会有const重载,即函数签名完全相同,只存在是否有const修饰的区别,这通常用在操作符重载上,如 const A& operator[](int idx) const;和A& operator[](int idx);
如果const成员函数需要修改某个成员变量,可以将该成员变量修饰为mutable,如果编译器不支持mutable,则进行const_cast
分享到:
相关推荐
c++ 的array源码分析和reverse-iterator和-Array-const-iterator类
C++ learning ---const用法总结,将平时不同情况的const用法,进行了详细的总结。是学习C++的好帮手
软件工程篇-Const与#Const的对比
开源项目-sdboyer-constext.zip,constext: Cons() your contexts
第五课 - const和volatile分析
徐彤老师耗时三年倾心制作,专业录制,通俗,细致的讲解了C++ 编程从入门到高级
徐彤老师耗时三年倾心制作,专业录制,通俗,细致的讲解了C++ 编程从入门到高级
本文给大家介绍了C++中的const限定修饰符。
const在C++中占有重要作用,属于小兵立大功的典型,本文档详细介绍了如何使用const
Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 '---- CursorOptionEnum Values ---- Const adHoldRecords = &H00000100 Const adMovePrevious = &H00000200...
C++里对const的常用用法和总结,很不错,讲的很详细。
BinTreeNode<Type> *GetLeftChild() const {return leftChild;} BinTreeNode<Type> *GetRightChild() const {return rightChild;} void SetData(const Type &d) {data=d;} void SetLeftChild(BinTreeNode ...
本文档详细介绍了C++中关键字const的用法,并给出了具体的示例来帮助读者理解
Check that dynamically introducing conflicting consts/vars .
最初的目标-------------*熟悉C++(再次)。*支持GET和POST方法。*允许OAuth的1.0认证。建立在Windows* x86和x64。*支持PUT和DELETE方法。* Yammer的API和其他可能的例子。长期---------*序列化的支持。*支持C + + ...
gsl-const 通过 GNU 科学图书馆的 JS 物理常数 安装 npm install gsl-const 用法 gsl_const = require('gsl-const'); console.log( gsl_const.CGS.SPEED_OF_LIGHT ); 参考 有关所有可用常量的列表,请参阅。 前缀...
C++:关于const的思考.doc onst的思考 1、什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:) 2、为什么引入const? const...
C++中const使用说明。。。C++中const使用说明。。。
$ npm install --save if-const 或您喜欢的任何其他方式。 用法 工作与正常的任何类型的条件if作品有。 允许在代码块中使用条件的结果(类似于C# out var语法)。 import ifConst from 'if-const' ; // a little ...
UNICODE下宽字符的CString转换为const char 和char到WCHAR的相互转换