|
|
1
2
最有效的方法是将任何可转换为
不过,有一点点。第二个最好的选择是根本不提供构造函数,将数据成员公开并初始化
完整故事: CppCon 2017: Nicolai Josuttis âThe Nightmare of Move Semantics for Trivial Classesâ . |
|
|
2
1
这是一个 实用经验法则 更一般的范围是:
这通常是可用性(在接口的任一侧)和计算开销之间的一个很好的折衷。通常,额外的工作(与完美的转发相比)最多是一个额外的移动结构,最多是一个额外的解构。除非您已经确定了应用程序的性能瓶颈,否则您很可能不想花费更多的编程工作。 This blog post on how to pass sink arguments 包括对备选方案的较长讨论,其结论还以“坚持按值传递”作为默认值开始。
应用于您的
除了上述一般性能方面外,请注意签名
|
|
|
3
0
正如Clonk所说,您需要具体说明您想要什么。你在找表演还是别的什么? 此外,您还可以使用编译器资源管理器自己对其进行比较。 在编译器资源管理器中编写代码,它将自动生成汇编代码。当然,您可以选择编译器。 |
|
|
4
0
完整答案: Analysing the Cases |
|
|
111111 · 确定作为模板参数传递的函数的参数类型 1 年前 |
|
|
msg · std::variant的奇怪结果 1 年前 |
|
|
Mikhail T. · 如何将对象的方法传递给lambda函数? 1 年前 |
|
|
zack · 不接受变分模板函数参数 1 年前 |
|
|
Youssef Gamil · RegEx替换C中的空行++ 1 年前 |
|
|
GPrathap · 如何在C中返回智能指针和协方差++ 2 年前 |