const限定符的用法总结

原创 2015年11月21日 13:37:55

const限定符的用法总结
一.初始化和const
- const对象必须进行初始化:const对象创建后就不可改变,所以在const对象上不能执行改变其内容的操作;
- 在不改变其内容的情况下,还有一种初始化方法就是用一种对象初始化一个const对象,不管其是否为const对象;
- const对象被设定为仅在文件内有效,所以在多文件中定义的同名const变量是相互独立的。要在文件间共享的方法是:对于const变量不管是声明还是定义都要添加extern,这样只需定义一次,其他用到的地方只需声明即可
二.const的引用:对常量的引用不能用于修改它所绑定的对象
引用的类型必须与其所引用对象的数据类型一致,初始化常量引用时允许使用任意表达式作为其初始值,尤其,允许一个常量引用绑定非常量的对象,字面值,甚至一个表达式;
也就是说,常量引用对于引用对象本身是不是一个常量不做限定,只限定引用可参与的操作:即不能通过常量引用修改它所绑定的对象,但是,如果对象是非常量,允许通过其他途径改变其值。
三.指针和const
1.指向常量的指针:
要存放常量对象的地址只能使用指向常量的指针,但指向常量的指针可以指向一个非常量对象;
同const引用一样,不能通过指向常量的指针改变其所指对象,但不影响这个对象的值通过其他方式改变
2.常量指针:同引用不同,指针是常量,所以指针本身可以为常量
“*”放在const之前,说明指针是一个常量,不变的是指针本身而不是指向的对象,所以可以通过常量指针修改其所指向的非常量对象
  常量指针必须初始化,且初始化完之后它的值,即地址不再改变
四.顶层const与底层const
- 顶层const表示对象是常量,作用于对象本身,如常量指针;底层const表示指向的对象是常量而不是对象本身,如引用的const都是底层const
- 在对象执行拷贝操作时常量时顶层const和底层const最明显,这部分区分在函数部分详细说明。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

指针与const限定符

1. 指向const对象的指针 形式如下: (const 修饰的是int *, const 放在类型前和类型后的效果是一样的) const int *ptr; 或 int cons...

C++中const限定符的几种常见用法

const对象 将一个对象定义为不可更改的对象,称为const对象。 例:const int a = 512 ; 注解:因为const对象在定义后就不能修改,所以定义时必须初始化。 const引用 ...

C++中 const限定符基本用法总结

{CSDN:CODE:2444171} 赛maw

const限定符用法整理

(1)const的来由    我们希望防止程序不小心错误地改变了不希望变化的变量的值。因此产生了const限定符。 (2)初始化    由于const对象一旦创建就不可以改变,所以const对象必须进...

const 限定符常用总结

由于const限定符既可以放在变量类型的前面,也可以放在变量类型的后面,所以对const的用法一直都不太明了,以下是查阅资料做了个简单总结: 1. 定义const对象 const最简单的使用就是将一个...

C++中const限定符的一些总结

(一)const的用法1.const对变量加以限定,定义常量,意味着只读.const int A,int const B;//两者一样,代表一个常整形数const int *C(int const *...

C++ const 限定符总结

1.  定义const对象 const 把一个对象转换成一个常量:   const int bufSize = 512;定义bufSize为常量并初始化为512.  因为常量在定义后就不能...

关于两种复合类型--引用和指针以及const常量限定符的一些总结

引用(不能作为对象): 起一个另外的名字而已,好比如*文华今天叫小华,明天别人叫他小文,他还是他。 注意上述中的引用应该是指“小文”这个名字符号,而不是指小文其人,故引用不是对象!故不能定义引用的...

C++ const 限定符总结

1.  定义const对象 const 把一个对象转换成一个常量:   const int bufSize = 512;定义bufSize为常量并初始化为512.  因为常量在定义后就不能修改...

C++总结之const限定符

C++中为防止程序更改我们不希望更改的变量的值,用关键字const对变量的类型加以限定
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)