鱼C论坛

 找回密码
 立即注册
查看: 6119|回复: 8

为什么说c++比java难学?

[复制链接]
发表于 2013-4-23 18:06:42 | 显示全部楼层 |阅读模式
10鱼币
本人之前学过c++,不过可能学的不够深入吧,平常课程设计用c++的语言,可是却比较少用到类的编程思路,即使有时用到mfc。(惭愧~~)。
最近觉得学计算机的神马都要接触一下,所以正在学java,感觉里面的面向对象和c++好像差不了多少,就是没了指针的概念。
但又感觉java里面对象的创建、使用依然都是指针的思路。(而且感觉学了java,对面向对象有了更深入的理解)
老是听说c++难学,请问各位高手,难是难在哪里,是指针的问题吗?
而java又容易在哪里?
谢谢了~~~~~

最佳答案

查看完整内容

java的垃圾回收机制是自动的,不需要程序猿手动编写代码,java一般主流有两个方向,javaweb(b/s)和swing(c/s),java的开发迅速,但是需要虚拟机,swing是典型的MVC模型,但是国内很少用这种开发窗体程序,多数会选择微软的winform。至于javaweb,涵盖的知识也比较多,在前台可以用表达式读取操作后台的数据,学习javaweb方向的一定要学SSH三大框架,还有JSH(J=jsf:面向组件编程)框架,java的简单是因为简化了很多C++里面复 ...
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-23 18:06:43 | 显示全部楼层
java的垃圾回收机制是自动的,不需要程序猿手动编写代码,java一般主流有两个方向,javaweb(b/s)和swing(c/s),java的开发迅速,但是需要虚拟机,swing是典型的MVC模型,但是国内很少用这种开发窗体程序,多数会选择微软的winform。至于javaweb,涵盖的知识也比较多,在前台可以用表达式读取操作后台的数据,学习javaweb方向的一定要学SSH三大框架,还有JSH(J=jsf:面向组件编程)框架,java的简单是因为简化了很多C++里面复杂的细节,比如说虚方法的使用,内存管理,指针的操作等,更多的还是归功于java的开发工具eclipse,很多类文件的导入,类的生成,构造函数等,只需要使用快捷键就可以生成了,但是更复杂的方法还是要自己写,更多的注重在业务逻辑的实现。
c++的话相对来说是复杂的,因为改变了c中的面向过程,转变为面向对象,c中的很多东西都继承下来了,很多人说c++难学,不是说学不会,而是需要为了c++中的语法规范,很多细节操作下一定的精力和功夫,因为c++可以直接和系统底层打交道,需要学习的更深入、更广所以学起来需要很多的时间和代码的积累。
本人才疏学浅,只能瞎说到这了,不过学习语言要领悟编程思想,不要问编程思想是什么东西,等一天你真的领悟了,就真的明白了,在这之前不要问什么是编程思想。任何语言只要下功夫学了都是不难的,不学的话永远是难以逾越的。
没有什么捷径,一切用代码说话。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-4-23 20:08:03 | 显示全部楼层
我觉得那个继承问题特别绕  神马虚函数啊   棱形继承啊
PS : 我不太会C++, 仅仅说一下啦
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-4-23 21:14:24 | 显示全部楼层
主要是java的垃圾回收机制,避免了C++的内存泄漏问题。就是说java在所有情况下都使用一种在特殊情况下有效的机制,从而简化了编程,但是效率就很低了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-4-23 23:28:23 | 显示全部楼层

就这个吗?c++写的时候多注意溢出或空指针什么的不就行了吗?
c++手动回收和java的回收机制有什么大 区别吗?为什么java效率就低了呢?
如果说因为这样就说c++难学是不是牵强了滴滴呢??
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-4-24 00:21:20 | 显示全部楼层
C++囊括JAVA
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-4-24 09:04:13 | 显示全部楼层
SXDA 发表于 2013-4-23 23:28
就这个吗?c++写的时候多注意溢出或空指针什么的不就行了吗?
c++手动回收和java的回收机制有什么大 区别 ...

我没学过JAVA 但是我觉得C++  什么运算符重载 什么虚函数 都有很多陷阱   而且有人故意把代码写的很复杂化
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-4-24 18:18:28 | 显示全部楼层
SXDA 发表于 2013-4-23 23:28
就这个吗?c++写的时候多注意溢出或空指针什么的不就行了吗?
c++手动回收和java的回收机制有什么大 区别 ...

当然不止这个,但这个是最主要的,许多C++项目就是因为内存泄漏才失败的。很多的时候并不是认真就能解决问题的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-4-24 18:20:34 | 显示全部楼层
java效率低是因为java不像C++那样编译完,生成本地机器可以直接执行的机器语言。java编译完生成的是本地java虚拟机可以执行的2进制代码,java虚拟机执行时在将该2进制代码转换为本地机器语言;所以java 效率低。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-1 18:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表