Да предположим, че имаме един клас с обичайната дизайнер:
И предполагам, че сте добавили към конструктора на копие и дизайнер на движение (миграция):
Има едно предупреждение: строителя копие няма да копирате, тя също така ще извърши прехвърлянето.
Тогава каква е разликата? Ако в действителност има едно и също. Код :: Blocks предоставя разликата във втория. Мисля, че ако има един въпрос между употребата на и ,
настроен 29 яну '16 в 14:20
Променлива от тип Т Това може да отнеме само израз на R-стойност,
променлива от тип Т Това може да отнеме само не-конст израз л-стойност.
Няма значение какъв вид променлива - аргумент на проектанта, или не.
Следователно, разликата между SomeClass (SomeClass други) и SomeClass (SomeClass други) - само в това, че първият ще се нарича само за R-стойност изрази, а вторият - само за не-на константи изрази л стойност.
Въпреки това, никой от тях не може да отнеме Конст SomeClass ,
Отговорено 29 '16 януари в 17:11
правилния подпис копие Конструкторът е, както следва:
Отговорено 29 '16 януари в 14:38
Всеки нетрадиционен конструктор, който се връзка клас, конструктор копие от този клас. Независимо от наличието или отсъствието CONST и / или колебливост на. - alexolut 29 януари '16 в 14:51
Тогава каква е печалбата?
Rvalue връзки позволяват на програмистите да се избегне ненужното логично архивиране и позволяват перфектно предаване (перфектен спедиция). На първо място, те са предназначени за използване в обекти с висока производителност и библиотеки.
Отговорено 29 '16 януари в 17:22