假设我定义了一个类:
class Pixel {
public:
Pixel(){ x=0; y=0;};
int x;
int y;
}
然后编写一些使用它的代码。为什么我要这样做?
Pixel p;
p.x = 2;
p.y = 5;
作为一个Java开发者,我经常这样写:
Pixel* p = new Pixel();
p->x = 2;
p->y = 5;
它们基本上做同样的事情,对吧? 一个在堆栈上,另一个在堆上,所以我需要稍后将其删除。它们之间有任何基本区别吗?为什么我应该更喜欢其中一个而不是另一个?