返回 登录
0

关于C++语言const关键字的总结

1,const对象(变量)初始化时,要赋值。(53页)

2,默认情况下,const对象仅在单个文件中访问。(如果要多个文件访问,需要加extern)
(54页开头部分)

3,常量的引用(const int &a)不能用作修改它所绑定的任何的对象(变量).
(54页的2.4.1)

4,虽说引用的类型必须与被引用的对象的类型一致,但是有一个特殊的例外(还有另一个例外,但是不是很难理解,所以不讲),在const的引用中,只要被引用的对象能转换成与引用相同的类型即可(参考2.1.2的类型转换规则)。对于绑定不相同的类型的对象,会创建一个相同类型和资格的临时量(前提是,符合转换规则)。(详见55页)
如图:

5,普通的引用的类型必须与被引用的对象一致的原因是因为,在绑定不同类型的 a 对象时,引用会自动绑定一个 b 临时量来进行类型的转换。因为你想改变的是a对象,而不是 b 临时量。所以,C++把这一行为看为非法行为。
(详见55页)
如图:

6,所谓的顶层和底层const,无非就是指针常量以及任何常量的对象(顶层)和指向常量的指针以及常量引用(底层)。(57页的2.4.3)

7,指针可以是顶层和底层。(学过C语言的同志应该知道。。) (57页的2.4.3)

8,在底层const对象的拷贝中,要求拷贝的对象必须拥有相同的资格(同为底层const),因为C++的一个规则:非常量可以转换成常量,反之,则不行。而在顶层const对象中,可以忽视这一点。(58页中有所解释)
**学习c++的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入c++学习交流群,群号码:427887913 我们一起学c++!**

评论