Questions tagged «copy-elision»


1
保证复制清除如何工作?
在2016年Oulu ISO C ++标准会议上,标准委员会将名为“通过简化的值类别进行保证的复制省略”的提案投票选为C ++ 17。 保证的复制清除功能如何工作?它是否涵盖了某些已经允许使用复制消除的情况,还是需要更改代码以保证复制消除?

3
C ++函数中“返回”的确切时刻
这似乎是一个愚蠢的问题,但是return xxx;在一个函数中明确定义“执行”的确切时间吗? 请参见以下示例,以了解我的意思(此处直播): #include <iostream> #include <string> #include <utility> //changes the value of the underlying buffer //when destructed class Writer{ public: std::string &s; Writer(std::string &s_):s(s_){} ~Writer(){ s+="B"; } }; std::string make_string_ok(){ std::string res("A"); Writer w(res); return res; } int main() { std::cout<<make_string_ok()<<std::endl; } 我天真地希望发生的事情make_string_ok称为: 的构造函数res称为(值为resis "A") 的构造函数w称为 return res被执行。应该返回res的当前值(通过复制的当前值res),即"A"。 的析构函数 …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.