码迷,mamicode.com
首页 > 其他好文 > 详细

const的一些记录.

时间:2014-10-03 15:34:54      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   sp   div   问题   c   on   

const 与地址分配问题:
<c++编程思想> 在c++中 一个const不必创建内存空间,而在c中,一个const总是需要创建一块内存空间。
在c++中, 是否为const常量创建内存空间依赖于对它如何使用。一般说来,如果一个const仅仅用来把
一个名字用一个值替代,那么该储存空间就不必要创建。如果取一个const的地址或者把它定义成extern,
则会为该const创建内存空间。

临时变量类型为const:

 1 class X {};
 2 
 3 void foo1(X& x) {
 4 }
 5 
 6 void foo2(const X& x) {
 7 }
 8 
 9 X f() {
10     return X();
11 }
12 
13 foo1(f()); // wrong
14 foo2(f()); // right

 



在const对象中改变成员:
1. 转换为非const this指针进行访问 (const_cast<Y*>(this))->i++;
2. 使用mutable关键字声明成员 mutable int i;

const的一些记录.

标签:style   blog   color   使用   sp   div   问题   c   on   

原文地址:http://www.cnblogs.com/lynnding/p/4004903.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!