У меня есть простой класс:
class X
{
std::string S;
X (const std::string& s) : S(s) { }
};
Я читал немного о rvalues в последнее время, и мне было интересно, если я должен написать конструктор для X
, используя rvalue, поэтому я мог бы обнаружить временные объекты типа std::string
?
Я думаю, что это должно выглядеть примерно так:
X (std::string&& s) : S(s) { }
Насколько мне известно, реализация std::string в компиляторах, поддерживающих С++ 11, должна использовать его при перемещении конструктора.