const成员函数的一般好处有:它使得class接口比较容易理解。它使得操纵const对象成为可能。使用的过程中应该在const与non const成员函数之间避免代码重复:class TextBlock{ public: ... const char & operator[...
分类:
其他好文 时间:
2015-10-04 21:01:32
阅读次数:
248
如下为const修饰的几种类型:char name[] = "benxintuzi";char* p1 = name; // non-const pointer, non-const dataconst char* p2 = name; // non-const pointer, const dat...
分类:
其他好文 时间:
2015-05-28 10:49:19
阅读次数:
121
指向常量的指针、常量指针、指向常量的常量指针
迭代器的功能就像指针,以下是常量指针、指向常量的指针
const与non-const成员函数会被重载
最好这么表述:
const成员函数不能改变所有成员变量,但是如果想改变的话可以用下面方法:
用non-const成员函数去调用const成员函数:
注意:...
分类:
其他好文 时间:
2015-05-08 16:29:14
阅读次数:
143
新版的C++标准库出现了很多C++11的新特性,刚开始接触确实很费劲,特别是右值引用和move函数这种基于效率的考虑损失了语言的简单直接的特性,废话不多说,先看右值引用。C++中根据const和non_const,lvalue和rvalue可分为四类对象 non_const const...
分类:
编程语言 时间:
2015-05-02 18:07:09
阅读次数:
128
1. 为了逻辑上的优化需要,const成员函数可能想修改某些成员变量,把这些成员变量定义为mutable可以绕过const的检查2. 调用const和non-const的参数的函数可以重载3. static_cast(a) 将一个非const 对象转成一个const 对象4. const_cast ...
分类:
其他好文 时间:
2015-03-09 15:44:03
阅读次数:
114
如果关键字const出现在星号左边,表示被指物是常量;如果出现在星号右边,表示指针自身是常量;如果出现在星号两边,表示被指物和指针两者都是常量。char greeting[] = " hello";char* p = greeting; //non-const pointer,non-const d...
分类:
编程语言 时间:
2015-01-17 12:40:45
阅读次数:
188
尽可能使用const
(1)const约束指针、迭代器
const char* p = "adc"; //non-const pointer,const data
char* const p = "abc"; //const pointer,non-const data
const char* const p = "abc";//const pointer,const data
const s...
分类:
编程语言 时间:
2014-11-26 20:59:52
阅读次数:
169
constconst指针1 char greeting[] ="hello"; 2 char* p = greeting; // non-const pointer, non-const data3 const char* p = greeting; // non-const pointer, co...
分类:
编程语言 时间:
2014-09-21 16:45:40
阅读次数:
241
1.static_cast最常用的类型转换符,在正常状况下的类型转换,如把int转换为float,如:int i;float f; f=(float)i;或者f=static_cast(i);·static_cast 可以被用于强制隐型转换(例如,non-const 对象转型为 const 对象,i...
分类:
其他好文 时间:
2014-09-10 17:19:40
阅读次数:
220
对于单纯常量,最好以const对象或enums替换#defines对于形似函数的宏,最好改用inline函数替换#define将某些东西声明为const可帮助编译器侦测出错误用法。const可被施加于任何作用域内的对象、函数参数、函数返回类型、成员函数本体。当const和non-const成员函数有着实质等价的实现时,令non-const版本调用const版本可避免代码重复。确定对象被使用前已经被...
分类:
编程语言 时间:
2014-05-22 17:09:29
阅读次数:
263