提问人:Xlv 提问时间:6/25/2019 最后编辑:Xlv 更新时间:6/25/2019 访问量:104
在 C++ 中,最好不要对使用 RTTI 的函数参数使用按值传递?
In C++, better not to use pass-by-value for function arguments that use RTTI?
问:
根据 Agner Fog (2018-08-18) 第 50 页的“在 C++ 中优化软件”,如果不满足这些条件中的任何一个,那么将指针或引用转移到对象通常更快。
- 该对象非常小,可以放入单个寄存器中
- 对象没有复制构造函数,也没有析构函数
- 对象没有虚拟成员
- 对象不使用运行时类型标识 (RTTI)
前 2 个条件背后的原因相当明显。 第三个条件是由于添加到对象的 vptr,这将使其“太大”而无法有效地传递值。这是对的吗?
任何人都可以解释一下第四个条件吗?
答: 暂无答案
评论