Какой класс лучше и почему - PullRequest
0 голосов
/ 30 октября 2019

Я изучаю семантику перемещения, я хочу знать, какой класс лучше и почему. Я попытался подсчитать количество распределений в обоих (перегружая новый оператор). t1 выделит только один раз, t2 выделит дважды. Судя по всему, t1 кажется более оптимизированным, но имеет ли он некоторые недостатки.

class Test1
{
    std::string&& s;  
public:
       Test1(std::string&& n) 
   :s(std::move(n)) {} 
};

   class Test2
{
     std::string s;
public:
   Test2(std::string&& n) 
   :s(std::move(n)) {} 
};


int main()
{
   Test1 t1("sdfds");
   Test2 t2("SDf");     
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...