您的位置】:知源论文网 > 理工类论文 > 计算机 > 正文阅读资讯:对C++中指针的深入研究

对C++中指针的深入研究

[作者:5189lw| 打印 | 关闭 ]
p; *P2。

3、①使P指向A的方式为:用&A初始化P或在声明了P后向 P赋值;②使P1指向A<1>的方式为:用“A+1”初始化P1或在声明了P1后向P1赋值;③使P2指向A<2><1>的方式为:用&A<2><1>初始化P2或在声明了P2后向P2赋值。

4、用 A和*来表示A<2><1>的表达式为*(*(A+2)+1),表示A<0><0>的表达式为**A。

5、按3,①用P和*来表示A<2><1>的表达式为*(*(*P+2)+1);②用P1和*来表示A<2><1> 的表达式为*(*(P1+1)+1);③用P2和*来表示A<0><0>的表达式为:*(P-6);

用P、P1和P2来访问A的元素有很多优越性,如它们及其表达式可以进行++运算和- -运算而指针常量却办不到。

三、函数指针

设一个函数的原型为:type fun (),则:

1、 fun()的指针常量为fun

2、声明一个数据类型为type,形参表为FL的函数指针P的格式为:type (P)(FL);

3、用一个数据类型为type形参表为FL的函数指针只能指向数据类型为type形参表为FL的函数。按(1)和(2),用P指向fun()的方式为:用fun初始化P或在声明P后向P赋值。

4、用P而不用fun来调用fun()的格式为:P(和FL对应的实参表);

四、对象指针

设t是A类的一个对象,a和f( )分别是A的一个公有变量成员和公有函数成员,则:

1、t的指针常量为&t;

2、声明一个指向A类的对象的指针P的格式为:A*P;

3、使P指向t的方式为:用&t初始化P或者在声明了P后再向P赋值。

4、①用P而不用t来表示t. a的格式为:P->a;②用P而不用t来访问f( )的格式为:P-> f( );

五、类的数据成员指针

设t是A类的一个对象,a是A的一个非静态type型成员数据,s是A的一个静态type1型成员数据,则:

1、①A::a的相对指针常量为&A:: a;②A::s的物理指针常量为&A:: s

2、①可以指向A类的type型非静态成员的指针P1的声明格式为:type  A::*P1; ②可以指向A类type型静态成员的指针P2的声明格式为:type 1*p2;

3、①使P1指向A::a的方式为:用& A:: a初始化P1或在声明了P1后向P1赋值;②使P2指向A::s的方式为:用& A:: s初始化P2或在声明了P2后向P2赋值。

4、①用P1而不用a来访问t.a的格式为:t .* p1;②用P2而不用s来访问t.s的表达式为*P2

六、类的函数成员指针

设t是A类的一个对象,f(FL1)是A类的一个type型非静态的函数成员,g(FL2)是A类的一个type1型静态函数成员,则

Tags: