use*_*855 0 c++ java memory-leaks stl
我很喜欢STL.它使编码算法非常方便,因为它为您提供了所有原语,如parition,find,binary_search,iterators,priority_queue等.另外,您根本不必担心内存泄漏.
我唯一关心的是运算符重载的性能损失,这是使STL工作所必需的.为了比较,我认为它依赖于==提供所需的语义.如果我们将类添加到容器中,我们需要重载==运算符.
为方便起见,我失去了多少效率?
关于内存泄漏的另一个问题:
CB *_*ley 10
在泛型类型上使用stl algortithms时,必须以某种方式提供比较逻辑.运算符重载没有任何其他函数的性能损失,并且可以(像任何其他函数一样)内联以删除任何函数调用开销.
许多标准容器和算法也使用std::less,因此默认情况下<而不是==.
标准容器本身不会泄漏,但您可以使用它们来保存对象(例如指针),这些对象不一定会清理它们"拥有"的内存.
在java中泄漏内存很困难,但这并不意味着你不会因为没有良好的对象所有权语义而陷入麻烦,并不意味着你不能用尽所有可用的内存并崩溃.
| 归档时间: |
|
| 查看次数: |
670 次 |
| 最近记录: |