论坛首页 综合技术论坛

利用this指针深入理解C++程序

浏览 3679 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-29  

利用this指针深入理解C++程序<o:p></o:p>

Use The “this” Pointer to Understand C++ Programs deeply<o:p></o:p>


摘要:this指针是一个特殊的指针,指向正在被某个成员函数操作的对象的指针;利用它,可以深入地理解C++程序中对象的构造和析构,了解对象在内存中的分配的释放的情况,深入地理解程序。

关键字:this 指针;内存;对象;构造;析构

AbstractThe “this” pointer is a special pointer, which point address of an object whose member function is being run; using the “this” pointer, we may understand the process of one object’s construction and destruction in C++ programs, and know about that how to assign memory for one object and free the memory, and understand the programs deeply.

Key words: “this” pointer; memory; object; construct; destruct

<o:p> </o:p>

引言

       对于计算机专业的学生来说,不仅需要熟练掌握C++的语法结构和它们的灵活应用,还需要了解C++程序运行时内存的分配情况。内存是一种紧缺资源,只有深入了解程序运行时的内存分配情况,才能够灵活运用所学的知识,充分利用内存。C++中提供了一种非常有用的指针:this指针,利用它可以帮助我们深入地理解C++程序运行时的内存分配情况。

<!---->1.     <!---->对象

C++,在程序员圈子中通常被读做“C加加,而西方的程序员通常读做“C plus plus”,它是一种使用非常广泛的计算机编程语言。它支持过程程序设计和面向对象程序设计等多种程序设计风格。在面向对象程序设计中,类与对象是两个非常重要而又密切相关的概念。类是对象的抽象,而对象是类的实例。在学习面向对象的程序设计过程中,学生接触最多的是类和对象。

对于对象,如何在内存中给它们分配空间呢?请看下面的例子,程序名“point.cpp<!---->

#include <iostream.h></iostream.h>

class Point

{

public:

       Point(int xx=0,int yy=0)

       {     x=xx; y=yy;    }

       int x,y;

};

void main()

{

       Point p1,p2(2,2);

       Point p3(3,3);

       cout<<"&p1="<<&p1<<" &(p1.x)="<<&(p1.x)<<", &(p1.y)="<<&(p1.y)<

       cout<<"&p2="<<&p2<

       cout<<"&p3="<<&p3<

}

       为了了解对象及对象的成员变量在内存中的分配情况,在Point类定义中全部成员都在公有部分,为的是在main()函数中可以查看它们的地址。

因为文章中有图片,不能全部显示,请查看附件中文章全文。
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics