0

根据Agner Fog (2018-08-18) 第 50 页的“在 C++ 中优化软件”,如果不满足这些条件中的任何一个,则传输指针或对象引用通常会更快。

  1. 对象是如此之小以至于它可以放入单个寄存器中
  2. 该对象没有复制构造函数,也没有析构函数
  3. 该对象没有虚拟成员
  4. 该对象不使用运行时类型标识 (RTTI)

前两个条件背后的原因是相当明显的。第三个条件是由于添加到对象的 vptr,这将使其“太大”而无法有效地按值传递。那是对的吗?

谁能解释一下第四个条件?

4

0 回答 0