#include <iostream>
using namespace std;
class A
{
public:
void print();
A(int a)
{
c= a;
}
int c;
};
void A::print()
{
cout<<"why why"<<c<<endl;
}
int main()
{
A *p = new A(3);
p[2].print();
}
C++语言不会进行越界检查,所以不会报错。好比你开车,低端汽车(奥拓,好比C++)不会对你是否偏离车道检查,撞上墙了或者掉河里了你也只能自认倒霉。
高端汽车(奥迪,好比Java)就有车道偏离预警,可以在你偏离车道的时候提醒你。
c语言是没有越界检查机制的