作业帮 > 综合 > 作业

c++ new与this是什么意思

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 12:10:53
c++ new与this是什么意思
new 用于动态分配内存,在内存堆区分配.
如:
char *p = new char[1024];
用new分配后一定要记得最后 delete []p;
this 是类内部的一个隐藏的指针.它的数据类型是本类类型.
如:
class Car
{
public:
Car();
Car();
void setColor(char *color);
char *getColor(void) const;
private:
char *aColor;
double aWidth;
double aHeight;
}
...
void Car::setColor(char *color) // 实质是void Car::setColor(Car *this,char *color)
{
aColor = new char[strlen(color) + 1]; // 实质是this.aColor = new char[strlen(color) + 1]
strcpy(aColor,color); // 实质是strcpy(this.aColor,color)
}
delete []aColor; // Car 中放这个
被static 与 const 限制过的成员函数 实质就是限制了那个隐藏的this指针.
这里不说了,想深入了解我们可以交流交流.
只是在类中用到它的时候没有显示的声明,其实每个类都有一个这样的指针.
也不是很神秘,跟普通的类指针没有两样.