【发布时间】:2010-12-20 12:02:45
【问题描述】:
我非常喜欢 STL。它使编码算法变得非常方便,因为它为您提供了所有的原语,如 parition、find、binary_search、iterators、priority_queue 等。另外,您根本不必担心内存泄漏。
我唯一担心的是 STL 工作所必需的运算符重载的性能损失。 为了比较,我认为它依赖于 == 提供所需的语义。如果我们要将类添加到容器中,我们需要重载 ==operator。
为了方便,我损失了多少效率?
另一个关于内存泄漏的问题:
- 使用 STL 容器时会发生内存泄漏吗?
- 在 Java 中会发生内存泄漏吗?
【问题讨论】:
-
当然,Java 中可能会发生内存泄漏 - 请参阅此处:ibm.com/developerworks/library/j-leaks
-
重载的运算符基本上是一种方法。
-
不错的链接@schnaader。希望我能给你一个 +1 的 cmets。
-
@ajay 将来我会把这样的事情分成两个问题。你这篇文章的标题与你关于 Java 和内存泄漏的问题无关。
-
您为什么认为运算符重载会导致性能下降?我对此感到困惑。另外,标准问题:你确定你有性能问题吗?检查您的测量结果。探查器说问题出在哪里?你的基线表现是什么,你的目标是什么,你的衡量计划是什么?我们对这里的这些部分中的微优化器没有太多了解。
标签: java c++ stl memory-leaks