2.4 const限定符const对象默认为文件的局部变量,此变量只存在于那个文件中,不能被其他文件访问。通过指定const变量为extern,就可以在整个程序中访问const对象。Exercise2.22设置一个const变量代替循环上界100Exercise2.23第一个不合法,const变量必...
                            
                            
                                分类:
编程语言   时间:
2015-05-09 22:04:27   
                                阅读次数:
227
                             
                    
                        
                            
                            
                                类型转换有c风格的,当然还有c++风格的。c风格的转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非const对象的指针,把一个指向基类对象的指针转换...
                            
                            
                                分类:
编程语言   时间:
2015-05-05 19:09:14   
                                阅读次数:
170
                             
                    
                        
                            
                            
                                C++pimer中文版第四版 378页 基于const的重载如果我们要在一个类的成员函数中定义两个函数签名完全一样的成员函数,比如display,那么可以基于是否是const成员函数来重载。比如://非const对象可以使用可以使用任意成员,但是下面这个匹配的更好,所以一般用这个成员函数Screen...
                            
                            
                                分类:
编程语言   时间:
2015-04-28 18:14:23   
                                阅读次数:
169
                             
                    
                        
                            
                            
                                1.const位于*左侧,则修饰对象;位于*右侧,则修饰指针2.const仅修饰对象时,const对象的指针本身可以改变,即指针地址可改变(指向其它对象);若const修饰指针时,则指针本身不能被改变,但并不限定所指对象的值1 i=0;2 const int *ip=&i;//仅限定对象i3 int...
                            
                            
                                分类:
其他好文   时间:
2015-04-03 14:48:35   
                                阅读次数:
88
                             
                    
                        
                            
                            
                                1 const对象默认为文件的局部变量(P50)a.cppconst int a = 1;b.cppextern int a;//undefined reference to "a"a.cppint a = 1;b.cppextern int a;//OKa.cppextern const int ...
                            
                            
                                分类:
编程语言   时间:
2015-03-18 15:41:29   
                                阅读次数:
202
                             
                    
                        
                            
                            
                                1. 为了逻辑上的优化需要,const成员函数可能想修改某些成员变量,把这些成员变量定义为mutable可以绕过const的检查2. 调用const和non-const的参数的函数可以重载3. static_cast(a) 将一个非const 对象转成一个const 对象4. const_cast ...
                            
                            
                                分类:
其他好文   时间:
2015-03-09 15:44:03   
                                阅读次数:
114
                             
                    
                        
                            
                            
                                1、分为两种情况:指向const对象的指针,const在*的左边,不能修改指向的内容。const指针,const在*的右边,不能修改指针的指向。2、赋值给指针的时候,可以缩小权限,但是不能放大权限。也就是说,非const对象可以赋值给指向const对象的指针。但是,const对象不能赋值给指向非co...
                            
                            
                                分类:
其他好文   时间:
2015-03-07 21:11:17   
                                阅读次数:
121
                             
                    
                        
                            
                            
                                本文结论: const对象、指向const对象的指针或引用只能用于调用其const成员函数。实例说明:class A{public: void mf1(){ cout<<"Function Call"<<endl; } void mf2() const{ cout<<"const F...
                            
                            
                                分类:
其他好文   时间:
2015-03-04 23:57:00   
                                阅读次数:
233
                             
                    
                        
                            
                            
                                const一般的意义是 ,恒定不变,修饰的对象不能改变,或是为了保护数据,提高了程序额健壮性。分类如下:
常变量: const 类型说明符 变量名
常引用: const 类型说明符 &引用名
常对象: 类名 const 对象名
常成员函数: 类名::fun(形参) const
常数组: 类型说明符 const 数组名[大小]
常指针: const 类型说明符* 指针名 ,类型说明符* ...
                            
                            
                                分类:
其他好文   时间:
2015-02-18 17:40:48   
                                阅读次数:
210
                             
                    
                        
                            
                            
                                由于非常习惯用const来加强代码的封装性,结果最近遇到了一些问题,顺带研究了一下以前基本没用过boost的智能指针,后来进了新项目组,引擎里遇到了大量boost的shared_ptr,intrusive_ptr指针,还有weak_ptr。因为遇到过更好用的weak_ptr,所以boost::wea...
                            
                            
                                分类:
其他好文   时间:
2015-02-15 11:54:40   
                                阅读次数:
314