Как выполнить вспомогательную функцию после того, как DOM будет готов в метеоре

Вы знаете, что означает семантика копии? это означает, что у вас есть типы, которые можно копировать, для определяемых пользователем типов, которые вы определяете это, либо купите явно написанную конструктор копирования & amp; оператор присваивания или компилятор генерирует их неявно. Это будет делать копия.

Семантика перемещения - это, в основном, определяемый пользователем тип с конструктором, который принимает ссылку на r-значение (новый тип ссылки с использованием & amp; & amp; (yes two ampersands)), который не является -const, это называется конструктором перемещения, то же самое относится к оператору присваивания. Итак, что делает конструктор перемещения, а вместо того, чтобы копировать память из его исходного аргумента, он «перемещает» память из источника в пункт назначения.

Когда вы захотите это сделать? well std :: vector - пример, предположим, что вы создали временный std :: vector, и вы возвращаете его из функции say:

std::vector<foo> get_foos();

У вас возникнут накладные расходы из конструктора копирования, когда функция возвращает, если (и она будет в C ++ 0x) std :: vector имеет конструктор перемещения вместо копирования, он может просто установить его указатели и «переместить» динамически выделенную память в новый экземпляр. Это похоже на семантику передачи права собственности на std :: auto_ptr.

13
задан George Katsanos 10 March 2013 в 21:56
поделиться