C++跟java比,运行效率高在哪里java相比C++,除了开发效率以外还有哪些优势吗

1,执行效率的问题。这个归根结底是因为每句话执行的过程比较短。就好比买东西,c++是自己直接去超市拿。java的话呢,就是先告诉售货员,然后售货员去拿。所以c++会快一些。但是现在硬件性能往往过剩,所以其实在很多方面,区别并不太大了。2,开发效率的问题。说开发效率高也得看在什么情况,一概而论是不恰当的。在我的理解就是Java应用某些特定场景的轮子比较多,所以在这些场景下开发效率就会高。说白了就是站在巨人的肩膀上。现代的c++其实也是一样的,如果只用面向对象的方式去编程,写起来跟Java差别不大。当然我个人接触Java不太多,有说的不对的欢迎指正。
■网友
想起来都是吐槽,我只能说我偏题了,我平常用C更多,觉得几个麻烦的地方,其实C++类似:
1. 字符串, 我平常更多用C, 你要写很多代码防止溢出, 写函数要多传长度参数, 要写代码处理缓冲区长度不够的问题, 要检查返回值 ... 不能不说用C++好很多了, 但是std::string还是有很多缺点
2. 好库太少, 其实不要太苛求,不要太洁癖的话, 好用的库还是有一些的。 比如要用一个hash, 找了几个库看代码觉得不好, 于是问同事推荐, 他推荐了一个知名的开源通信库, 进去代码一看, 里面的hash是常见的二维链表方式的, 但是:
1. 为啥数组 hash table 要保存链表头指针还要加上 key-value 对? 这样不是很浪费内存吗?
2. 为啥求余居然用 %1024 %2048 这样的数值, 这不是很容易hash冲突的? 不应该用质数吗?
3. 每次新增一个key-value, key-value pair对要malloc出来, 然后key也要单独malloc, value也要单独malloc, 这样我添加一个元素还得 malloc 3 次, 多线程环境下好慢的! 说不定还不如直接遍历搜索呢!
其实我也知道这都不是太大的问题,因为内存啊速度啥的都不是瓶颈,但是就是想起来就不舒服斯基, 最后觉得反正也不是很复杂的东西,要不还是自己写吧。
【C++跟java比,运行效率高在哪里java相比C++,除了开发效率以外还有哪些优势吗】 写java就没有这个问题, 反正大部分东西系统都做好了给你,既不用去费心选库,啥性能什么的你能操心的地方也不多,你爱用不用。

■网友
C++相比于Java,更接近底层空间。同时,C++的编译器很强大,做了很多存储和语法上的优化。个人感觉。


    推荐阅读