和英文版的对:As we’ve seen, a pointer is an object that can point to a different object. As a result,we can talk independently about whether a pointer is co...
分类:
其他好文 时间:
2015-10-08 23:13:50
阅读次数:
154
C++不允许依靠顶层const的区别来定义重载函数,例如下面的做法将造成重复声明,原因是调用时形参为const int的函数可以接受int的实参(经过隐式类型转换) void print(int)
void print(const int) //重复声明,无...
分类:
其他好文 时间:
2015-07-24 16:17:00
阅读次数:
132
const在四种方案如以下:int b = 500; const int *a = &b; ①(底层const) int const *a = &b; ②(底层const) int *const a = &b; ③(顶层const) const int *const a = &b; ④(靠右...
分类:
其他好文 时间:
2015-07-01 20:23:40
阅读次数:
114
指针本身是一个对象,它可以指向另一个对象。因此,指针本身是不是常量和指针所指的对象是不是常量就是两个独立的问题。
顶层const表示指针本身是个常量。
底层const表示指针所指的对象是个常量。
下面所示,pi就是一个常量指针,不能修改pi的值。而pd则是一个指向常量的常量指针,既不能修改pd的值,也不能通过pd修改其指向对象的值。
int i = 0;
int *const pi = &...
分类:
其他好文 时间:
2015-05-22 13:29:58
阅读次数:
231
decltype作用是选择并返回操作数的数据类型。 decltype(f()) sum = x; // sum的类型就是函数f的返回类型 如果decltype使用的表达式是一个变量,则decltype返回该变量的类型(包括顶层const和const在内):const int ci=0, &...
分类:
编程语言 时间:
2015-03-11 00:43:27
阅读次数:
189
第6章 函数
1. 函数最外层作用域中的局部变量不能使用与函数形参一样的名字,因为它们属于同一个作用域范围.
2. 局部静态变量的生命周期: 在整个程序的执行路径第一次经过对象定义语句时初始化,并且直到整个程序终止时才被销毁,在此期间即使对象所在函数结束执行也不会对它有影响.
3. 如果重载的函数的参数只有顶层const区别,那么...
分类:
编程语言 时间:
2015-03-07 01:02:22
阅读次数:
216
1 auto会忽略顶层const,保留底层const 2 3 int i = 0; 4 5 const int* const p = &i; 6 7 auto p2 = p; //p2是const int*,不是const int* const 8 //...
分类:
其他好文 时间:
2014-09-23 02:25:13
阅读次数:
325
1. 顶层 const 与底层 const 概念指针本身是一个对象,由于,指针实际相应着内存单元的一段存储空间,然而,指针所指向的也是一个数据对象,因此,指针是一个常量与指针所指向的是一个常量是两个全然不同的概念,顶层 const表示的是指针本身是一个常量,底层 const表示的是指针所指的对象是一...
分类:
编程语言 时间:
2014-08-19 20:38:45
阅读次数:
223
我的主力博客:半亩方塘本文的主要參考来源来自于:C++ Primer 中文版(第 5 版)第 57 面至第 58 面1. 顶层 const 与底层 const 概念我们知道,指针本身是一个对象,由于,指针实际相应着内存单元的一段存储空间,然而,指针所指向的也是一个数据对象,因此,指针是一个常量与指针...
分类:
编程语言 时间:
2014-08-13 21:47:37
阅读次数:
267