-
20 votesanswersviews
for循环中pIter!= cont.end()的性能
我最近通过Herb Sutter获得了“Exceptional C”,我对他在第6项 - 临时对象中提出的特别建议表示严重怀疑 . 他提供了在以下代码中查找不必要的临时对象: string FindAddr(list<Employee> emps, string name) { for (list<Employee>::iterator i = emps.begin(... -
2 votesanswersviews
什么是基于堆栈的参考?
什么是基于堆栈的引用?它们与作为对象成员的引用有何不同?标准是否谈到这些? 我在Herb Sutter写的_2547026中遇到过这个: Q1:以下代码是否合法C? // Example 1 string f() { return "abc"; } void g() { const string& s = f(); cout << s <&... -
5 votesanswersviews
优化可变与不可变矢量数学
哪种编码风格更适合编译器优化?特别是,我感兴趣1)最小化立即丢弃的临时值的数量和2)自动矢量化,即生成用于算术的SIMD指令 . 假设我有这个结构: #define FOR_EACH for (int i = 0; i < N; ++i) template<typename T, unsigned N> struct Vector { void scale(T scal...