【发布时间】:2019-07-31 20:01:11
【问题描述】:
使用 map.find() 或任何返回迭代器的函数。 将返回值存储为 ref 有什么好处?
const auto it = map.find(0);
const auto& it2 = map.find(0);
【问题讨论】:
-
我怀疑你会看到任何性能差异。在您实际分析代码并确定性能不可接受之前,不应考虑此类微优化。
-
启用优化器后,编译器可能会为这两种情况生成完全相同的代码。不要在没有使用分析器(在优化代码上)来证明它确实有所作为的情况下进行这样的微优化。
-
存储对临时对象的引用通常是个坏主意。
-
@SidS 在这种情况下就好了