自 1992 年以来我一直在使用 C++(并且阅读了大量有关该语言的内容),因此我对该语言有相当多的了解,但远非全部。我的问题是关于 C++11 命名返回值优化 - 有什么保证会执行?我倾向于发送非常量参数(C++97 风格)或使用 shared_ptr(C++11 风格),甚至使用 ptr-to-ptr(C 风格)。一个原因是使用非常量 ref args 或 shared_ptr,我可以保证不会制作额外的对象副本。
所以我的问题是(特别是对于那些从事实时或内核工作的 C++ 程序员):你更喜欢什么习语?我真的希望这个问题不会因为不精确、基于意见或完全愚蠢而被否决——我知道它与高效的现代 C++ 编程高度相关。