我想知道当我有这样的功能时会发生什么:
typedef std::unordered_map<std::string,std::string> stringmap;
stringmap merge (stringmap a,stringmap b)
{
stringmap temp(a); temp.insert(b.begin(),b.end()); return temp;
}
函数返回时会发生什么?
'temp' 是否在被销毁(超出范围)之前复制到临时 r 值,并且 C++11 可能经过 NRVO 优化(因此,'temp' 的副本直接写入返回目标插槽)?