(CppCon 2023) Great C++ is_trivial
写在前面
参考链接 https://www.youtube.com/watch?v=bpF1LKQBgBQ
这篇演讲有关 C++ 中的 trivial 概念。并且提到当对象 trivially copyable 时,参数传递和返回值都会变得更容易优化。
返回值优化
第 2 段代码在 C++20 之前不能被优化是因为结构化绑定的分量是结构体的一部分,作为返回值时不能被直接建在调用者的栈上。
Trivial 的概念
Note
有虚函数或者虚基类(也就是需要 vptr),就不满足平凡构造/赋值/拷贝了。如果没有给出析构函数,还是可以平凡析构的。