请达人指教: Java与C++在对象数组初始化上的区别 对于对象数组, Java中似乎不允许如 A s[] = new A[10] ();但是C++ 中则是允许如下语句: A s[] = new A[10] (); 这时候会调用默认构造函数进行初始化。请问这是为什么呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有为什么,就是这么设计的。但是可以反证:Java的数组是10元素是 Reference而已。而C++这么写,10个元素就是对象,如果又没有执行ctor,除非用(Replacement New),某种你都没机会调用构造函数了。 java是String[] str = new String[10];这样子啊。 你的意思是说,比如这种: A a = new A[10]; Java中就是十个引用,C++中就是生成了十个没有初始化的对象。 所以C++中需要 A a = new A[10]()以进行初始化,是这个意思么? 今天做的赶集网的笔试题,大家有兴趣讨论一下 学生信息管理系统。。。提问 帮帮我这菜鸟吧 菜鸟求助:collection的一点小疑惑 脆地狂求答案........各位快来帮帮忙,很及的........... 请问这道题选什么,为什么? 一个java 考试题,大家帮忙了 为何直接打开连接applet的html文件,applet不能运行,而在jbuilder却可以? kjava中资源有限,可是我要写很多的form如何减少对内存的耗费??? 大家帮我看看错在那里!谢谢! 新手关于Java的一个小问题 编写一个APPLICATION遇到一个奇怪的问题 为什么jsp读不到串口
Java的数组是10元素是 Reference而已。而
C++这么写,10个元素就是对象,如果又没有执行ctor,除非用(Replacement New),某种你都没机会调用构造函数了。
你的意思是说,比如这种:
A a = new A[10];
Java中就是十个引用,C++中就是生成了十个没有初始化的对象。
所以C++中需要 A a = new A[10]()以进行初始化,是这个意思么?