《龙腾苑》显示文章详细内容: [展开] [回复] [网址] [举报] [屏蔽]
无言以对
无言以对目前处于离线状态
等    级:资深长老
经 验 值: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++中无异常,会改写不属于自己的内存空间的内容,造成的后果无法预料。

--
你便是落了我牙,歪了我嘴,瘸了我腿,折了我手,天赐与我这般儿歹症候,尚兀自不肯休!

则除是阎王亲自唤,鬼神自来勾。三魂归地府
该网址不再展示
2006-06-23 14:26:02   此文章已经被查看713次   
 相关文章: [回复]  [顶端] 



  您必须登录论坛才可以发表文章:
 
用户名:   密码:   记住密码:    (忘记密码 注册




版权所有 回龙观社区网 经营许可证编号:京B2-20201639 昌公网安备1101140035号

举报电话:010-86468600-5 举报邮箱: