#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();
}
请问一下为什么这个代码没有报错 不是已经越界了吗
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- threenewbee 2017-04-04 07:50关注
C++语言不会进行越界检查,所以不会报错。好比你开车,低端汽车(奥拓,好比C++)不会对你是否偏离车道检查,撞上墙了或者掉河里了你也只能自认倒霉。
高端汽车(奥迪,好比Java)就有车道偏离预警,可以在你偏离车道的时候提醒你。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
- ¥15 找一个网络防御专家,外包的
- ¥100 能不能让两张不同的图片md5值一样,(有尝)
- ¥15 informer代码训练自己的数据集,改参数怎么改
- ¥15 请看一下,学校实验要求,我需要具体代码
- ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
- ¥20 MATLAB绘制两隐函数曲面的交线
- ¥15 求TYPCE母转母转接头24PIN线路板图
- ¥100 国外网络搭建,有偿交流
- ¥15 高价求中通快递查询接口