基础问题~~~~`

1982pc 2006-03-15 08:39:42
在java中以下写法到底有错无?!

int[] fun()
{
int[] p = new int[5];
return p;
}
在C++ 下应该是有问题的,但java就不知道了.

还有用多个else if 语句判断和用swith语句在执行效率上是否有差别?
...全文
95 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
1982pc 2006-03-16
  • 打赏
  • 举报
回复
C++中编译不会出错,但当你退出这个函数时p指针就已经释放,这时指针的就是不可预知。
suncheng_hong 2006-03-16
  • 打赏
  • 举报
回复
int[] fun()
{
int[] p = new int[5];
return p;
}
你的数组只是定义了,还没有初始化,编译没有问题
Dan1980 2006-03-16
  • 打赏
  • 举报
回复
1. JAVA函数可以直接“返回一个数组”,而不像C++那样只能返回一个指向数组的指针,并且,垃圾回收器会自动侦测这个返回的数组是否还在使用,所以不用担心从函数中返回的数组的生命期问题。

2. 多个if ... else if ... else if ...实际上是嵌套的分支语句,如果分支很多,建议用switch,个人意见。
zorro09 2006-03-15
  • 打赏
  • 举报
回复
貌似没有,请问c++中回报什么错捏?

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧