ПредишенСледващото

Да предположим, че имаме един клас с обичайната дизайнер:

И предполагам, че сте добавили към конструктора на копие и дизайнер на движение (миграция):

Има едно предупреждение: строителя копие няма да копирате, тя също така ще извърши прехвърлянето.

Тогава каква е разликата? Ако в действителност има едно и също. Код :: 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

Подкрепете проекта - споделете линка, благодаря!