-
答案 1:
C++ 其实是放弃了内存管理作为语言特性,而把责任推给了库。这么做有几个负面的历史遗产:让整整一代程序员认为 OOP 这种东西是不需要 GC 的(注意我认为 reference-counting 也是一种 GC)。
让 value-copy 成为一种编程风格。
让采用不同内存管理模式的人在一个项目里互相制造麻烦。一个 10 人的团队,只要一个人某天头脑发热用了一个 raw pointer ,整个团队所有的 shared_ptr 的用法就会整个失败。
-
答案 2:
恩,除非硬件底层,一般都不需要用户自身操纵内存数据,因为会很容易就发生溢出等异常。以后的编程趋势就是越来越容易越来越简单。。。 -
答案 3:
我的观点是看情况了,如果一个手持的移动设备需要一个垃圾回收,那是要占很多内存的(手机的内存很小啊)。对于一个台式机,2 - 4 GB 内存就不用考虑了。使用Objective C的iOS没有延迟就是吧效率最高的内存管理交给了开发者。使用Java的Android会为每一个进程开一个虚拟机。延迟肯定有的。Android需要用高配置的硬件来弥补延迟。厂商的成本就增加了。Google选择Java的原因只有一个就是就是吸引开发者。选择Android就是选择一个广告终端。 -
答案 4:
objc的内存管理算简单的 -
答案 5:
应该是趋势了,语言和框架的目标是提供某种机制减少开发者犯错的机会,而不是依赖于开发者的素质。不过,我还是比较喜欢汇编、C、C++。 -
答案 6:
Automatic Reference Counting 代表了趋势
为什么我觉得 Objective-C 的内存管理比 C++ 要复杂得多?这类语言是否是趋势?
2012-01-19 20:12:32 来源: 点击:
相关热词搜索:
上一篇:WWF 每年收入能有多少?
下一篇:广州哪里可以买到专业的登山鞋?如:SCARPA,ASOLO,AKU??