标签: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;
标签:style blog color 使用 sp div 问题 c on
原文地址:http://www.cnblogs.com/lynnding/p/4004903.html