↓ 跳过正文

111qqz

ML Infra Engineer | ex-ICPCer@HUST

最近的文章

从 RVO 到 Guaranteed Copy Elision:C++ 返回值优化的演进

·4193 字·9 分钟
一道我答错的题 # 最近做了一个 Modern C++ 水平测试,碰到这样一道题: 1#include <utility> 2 3struct Widget { 4 Widget() = default; 5 Widget(const Widget&) = delete; 6 Widget(Widget&&) = delete; 7}; 8 9Widget createA() { return Widget{}; } 10 11Widget createB() { 12 Widget w; 13 return w; 14} 15 16Widget createC() { 17 Widget w; 18 return std::move(w); 19} 问:在 C++17 下,哪些函数能通过编译?