假设我定义了一些类:
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;
他们基本上做同样的事情,对吗? 一个在堆栈上,另一个在堆上,所以稍后我将不得不删除它。这两者之间有什么根本的区别吗?我为什么要选择其中一个?