指向常量的指针、常量指针、指向常量的常量指针
迭代器的功能就像指针,以下是常量指针、指向常量的指针
const与non-const成员函数会被重载
最好这么表述:
const成员函数不能改变所有成员变量,但是如果想改变的话可以用下面方法:
用non-const成员函数去调用const成员函数:
注意:...
分类:
其他好文 时间:
2015-05-08 16:29:14
阅读次数:
143
c++const char *c_str();c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同.(其实它指向的是string对象内部真正的char缓冲区),所以返回const,以防止用户的修改。这是为了与c语言兼容,在c语言中没有string类型,故必须通过stri...
分类:
编程语言 时间:
2015-04-28 11:15:07
阅读次数:
128
几个容易混淆的概念:
指针常量:即指针本身的值是不可改变的,而指针指向的变量的值是可以改变的;
常量指针:即指针指向的变量的值是不可改变的,而指针本身的值是可以改变的; 指向常量的指针
指针函数:函数,返回的是一个指针
函数指针:指针,指向一个函数(这里可以继续嵌套,指向的函数返回一个函数指针........)
数组指针:指针,指向数组
指针数组:数组内存放的是指针
指针与数组
1...
分类:
编程语言 时间:
2015-04-24 10:39:11
阅读次数:
140
我相信指针和数组之间的暧昧缠绵让很多C初学者很头痛吧,特别是多维数组,那真的是要了亲命,这里我给大家好好分析一下指针和多维数组之间的关系。 大家都知道一维数组名即是一个指针常量,它代表数组第一个元素的地址,我们知道一维数组的长度,那么可以通过数组名输出一维数组的所有元素:#include int m...
分类:
编程语言 时间:
2015-04-18 21:54:22
阅读次数:
149
指针的初始化 指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。 对指针进行初始化时常用的有以下几种方式: 1.采用NULL或空指针常量,如:int *p = NULL;或 char *p = 2-2;...
分类:
其他好文 时间:
2015-04-16 01:20:37
阅读次数:
206
1. 数组名 是表示数组空间首地址的指针常量,程序中不允许对常量赋值。如 int a[]; a就是数组名,表示数组控件首地址的指针常量 a = 0;是错误的,不允许对指针常量赋值2.可以通过指针指向一个常量,但是不能通过指针修改常量的内容如:char *p; p = "testing...
分类:
编程语言 时间:
2015-04-13 12:47:42
阅读次数:
144
数组和指针是两种不同的类型,数组具有确定数量的元素,而指针只是一个标量值。数组可以在某些情况下转换为指针,当数组名在表达式中使用时,编译器会把数组名转换为一个指针常量,是数组中的第一个元素的地址,类型就是数组元素的地址类型;指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的...
分类:
编程语言 时间:
2015-04-13 00:05:39
阅读次数:
260
1.int lookup(string p);2.int lookup(const string p);//同13.int lookup(string *);//传入一个指针,指针指向string类型4.int lookup(string * const p);//传入的是一个string,指针常量...
分类:
其他好文 时间:
2015-04-06 11:20:33
阅读次数:
122
* (指针)和 const(常量) 谁在前先读谁 ;*象征着地址,const象征着内容;谁在前面谁就不允许改变
分类:
其他好文 时间:
2015-04-05 21:56:18
阅读次数:
138
C指针小结2
在上一篇对指针的小结中只是片面的说明了指针的概况,与基本含义,其实说到指针必然要提及数组,数组与指针有着密不可分的联系。但是切记数组和指针根本是两个东西,指针不能和数组画等号。
数组:
例如 int a[10];这声明的是一个由10个整形组成的数组,其中包含10个整形元素,同时数组名的值是一个指针常量,也就是数组第一个元素的地址。如果前面声明...
分类:
其他好文 时间:
2015-04-01 21:55:34
阅读次数:
116