1.cosnt指针 int age = 39;
const int * pt = &age;不可以使用pt改变age的值,即*pt是const,不可修改。 *pt += 1; // 非法操作
cin >> *pt; // 非法操作但是,pt的声明并不意味着它指向的变量(age)为const,而仅仅是说不可以使用pt来修改它指向的变量(age)。 *p...
分类:
编程语言 时间:
2015-03-09 16:13:34
阅读次数:
231
1、分为两种情况:指向const对象的指针,const在*的左边,不能修改指向的内容。const指针,const在*的右边,不能修改指针的指向。2、赋值给指针的时候,可以缩小权限,但是不能放大权限。也就是说,非const对象可以赋值给指向const对象的指针。但是,const对象不能赋值给指向非co...
分类:
其他好文 时间:
2015-03-07 21:11:17
阅读次数:
121
★同样点:●都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。★不同点:●指针是一个实体,而引用仅是个别名;●引用仅仅能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终”,指针能够“见异思迁”;●引用没有const,指针有const,const的指针不可...
分类:
编程语言 时间:
2015-02-24 12:30:02
阅读次数:
155
int *const p=&a;这是const指针,这种指针必须在定义时就给出它所指向的地址,否则会error:uninitialized const 'p'.const指针的指针本身是const类型,所以不能修改它所指向的地址,但可以修改它所指向的值。const int *p;这是指向const对...
分类:
其他好文 时间:
2015-02-03 22:46:30
阅读次数:
275
const对象、指向const对象的指针、const指针(通过一个面试题来了解)1.const对象 (1)关于const,很多企业的笔试、面试都会出现,很简单,就问你“const的含义?”。我不清楚大家的回答,我的第一反应是常量,然后我想到了C#中关于const的解释(static and read...
分类:
编程语言 时间:
2015-01-16 18:45:13
阅读次数:
252
constint*u;//指向constint的指针intconst*u;//同上int*constu;//指向int的指针intconst*constu;//指向const对象的const指针constint*constu;//同上
分类:
其他好文 时间:
2015-01-04 22:47:58
阅读次数:
203
STL迭代器以指针为根据塑造,所以迭代器的作用就像个T*指针,声明迭代器为const就像声明指针为const一样(既声明一个T* const指针),表示这个迭代器不得执行不同的东西,但它所指的东西的值是可以改动的。如果你希望迭代器所指的东西不可被改变(类似const T*指针),需要的是const_iterator。
Std::vector vec;
Const std::vector::i...
分类:
编程语言 时间:
2014-12-14 22:47:31
阅读次数:
270
1、指针和引用 指针是一个变量,它存储的是内存地址;引用和原来的变量是同一个,对引用修改会改变原变量,而修改指针只是修改了指向的内存 可以有const指针、但是没有const引用;指针可以多级int **p;引用只有1级 int &&p不合法 指针可空,引用必须初始化;指针可以修改,可以指向别...
分类:
其他好文 时间:
2014-12-09 19:27:03
阅读次数:
134
指针兼容性问题: const指针不能赋值给非const指针. 非const指针可以赋值给const 指针,但前提是只是一层间接运算 1 Example: 2 int *pt1; 3 const *pt2; 4 const **pt3; 5 6 ...
分类:
其他好文 时间:
2014-11-30 19:56:57
阅读次数:
119
.指向const的指针例如:double a=1.01;const double * b=&a;*b=2.1; //这显然是错误的a=2.1; //这是正确的,a和*b的值都会变成2.01,有些人将之称为自以为指向const的指针五.const指针例如:int a=10;int * const b=...
分类:
其他好文 时间:
2014-11-12 13:31:17
阅读次数:
178