我有点困惑,试图了解这里发生的事情:
#include <iostream>
using namespace std;
class Point
{
int x, y;
public:
Point(): x(0), y(0) {}
int getX() {return x;}
int getY() {return y;}
};
int main(int argc, char const *argv[])
{
Point *a = new Point[2];
Point *b = a;
for (int i = 0; i < 5; i++, a++)
cout << a->getX() << "," << a->getY() << endl;
delete[] b;
return 0;
}
输出:
0,0
0,0
0,0
1041,0
825503793,667692
这只是一个实验,当我练习课程和动态记忆时,我看了这个。 为什么输出看起来像这样,后面发生了什么?
我确定将使用Point
构造函数初始化2个Point()
,那么为什么第三个0,0
也是n+1xm+1
?
为什么其他2个有随机数,这些对象分配在哪里?是否只有Point类型的随机内存/未初始化内存?