|
等 级:资深长老 |
经 验 值:2274 |
魅 力 值:839 |
龙 币:4649 |
积 分:2723.8 |
注册日期:2005-08-18 |
|
|
|
1.class A{}
两道面试题: class A{} 语句A a;在java,c#,c++中各发生了什么 2.x = new int[10]; x[20] = 100;在java,c#,c++中分别发生了什么?
1.class A{}
语句A a;在java,c#,c++中各发生了什么?
在java和c#中申明了一个引用,并在堆栈上为这个引用分配空间(我猜是4byte,具体由vm决定),但是没有构造出对象,引用也未初始化。
在C++中,在堆栈上分配空间(至少1字节)并生成了一个对象A
2.x = new int[10];
x[20] = 100;在java,c#,c++中分别发生了什么?
在java中抛出IndexOutofBoundException,该线程中止,除非try捕获,但由于是runtimeException,所以不应该捕获。
在C#中也会抛出IndexOutofboundException,但是不会结束程序,如果没有try,会有个对话框提示继续运行还是结束
在C++中无异常,会改写不属于自己的内存空间的内容,造成的后果无法预料。
|
|
-- 你便是落了我牙,歪了我嘴,瘸了我腿,折了我手,天赐与我这般儿歹症候,尚兀自不肯休!
则除是阎王亲自唤,鬼神自来勾。三魂归地府
该网址不再展示 |
|
|