Zwracanie std :: vector według wartości
Często mówi się, że w C ++ 11 powrót do normy jest rozsądnystd::vector
według wartości.
W C ++ 03 było to w większości prawdziwe, ponieważ RVO powinno zoptymalizować kopię. Ale topowinien wystraszyłem większość programistów.
W C ++ 11 zostanie zwróconystd::vector
zmienna lokalna zawsze jest przenoszona?Co jeśli ten wektor jest członkiem zmiennej lokalnej zamiast samej zmiennej lokalnej?Oczywiście zwrot zmiennej globalnej nie zostanie przeniesiony. Jakie inne przypadki nie zostaną przeniesione?