天 行 者 https://bbs.21ic.com/?370511 [收藏] [复制] [RSS]

日志

C++学习心得——指针

已有 1036 次阅读2007-12-10 16:32 |个人分类:嵌入式系统|系统分类:嵌入式系统| C++, 编程

可以声明指向常量的指针,此时不同通过指针来改变所指对象的值,但指针本身可以改变,可以指向另外的对象,如:


const char *name1 = “John”;        //name1是指向常量的指针


char s[ ] = “abc”;                             //定义一个字符数组


name1 = s;                                        //对,name1本身的值可以改变(赋予一个新的地址)


*name1 = “1”;                                  //错,name1指向的值是常量,不能改变


可以声明指针类型的常量,这时指针本身的值不能改变,但所指对象的内容可以改变,如:


char *const name2 = “John”;        //name2是一个常指针(指针常量)


name2 = “abc”;                                 //错,name2是常量,本身的值不能改变


 


关于对象指针:对象同时包含了数据和函数两种成员,与一般变量略有不同,对象所占据的内存空间只用于存放数据成员,函数成员不会在每一个对象中存储副本。对象指针就是用于存放对象地址的变量。


关于this指针:


this指针是一个隐含于每一个类的成员函数中的特殊指针(包括构造函数和析构函数),它用于指向正在被成员函数操作的对象this指针明确指出成员函数当前所操作的数据所属的对象。实际过程是,当通过一个对象调用成员函数时,系统先将该对象的地址赋给this指针,然后调用成员函数,成员函数对对象的数据成员进行操作时,就隐含使用了this指针。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)