Результаты поиска по запросу "move-semantics"
Оператор присваивания и `if (this! = & Rhs)`
В операторе присваивания класса вам обычно нужно проверить, является ли назначаемый объект вызывающим объектом, чтобы вы ничего не испортили: Class& Class::operator=(const Class& rhs) { if (this != &rhs) { // do the assignment } return *this; ...
Является ли конструкция «передача по значению и перемещению» плохой идиомой?
Так как у нас есть семантика перемещения в C ++, в настоящее время это обычно делается void set_a(A a) { _a = std::move(a); }Причина в том, что еслиa является значением, копия будет удалена, и будет только один ход. Но что произойдет, еслиa ...
Ветвление операторов присваивания со значениями вместо ссылок
Этот вопрос возникает из вопросов, поднятыхэтот ответ [https://stackoverflow.com/a/9746772/734069]. Обычно мы определяем операторы копирования для типаT какT& operator=(const T&)и переместить операторы присваивания для типаT какT& ...
Возвращаются местные жители автоматически xvalues
Исходя из комментария, который я сделал по этому поводу: передача std :: vector в конструктор и перемещение семантики [https://stackoverflow.com/questions/9963798/passing-stdvector-to-constructor-and-move-semantics] Этоstd::move необходимо в ...
Переместить семантику и примитивные типы
Пример кода: int main() { std::vector<int> v1{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::cout << "Printing v1" << std::endl; print(v1); std::vector<int> v2(std::make_move_iterator(v1.begin()), std::make_move_iterator(v1.end())); std::cout << "Printing ...
В чем преимущество использования универсальных ссылок в циклах для диапазонов?
const auto& было бы достаточно, если я хочу выполнять операции только для чтения. Тем не менее, я столкнулся с for (auto&& e : v) // v is non-constпару раз недавно. Это заставляет меня задуматься: Возможно ли, что в некоторых неясных угловых ...
Что стандартная библиотека гарантирует для самостоятельного перемещения?
Что стандарт C ++ 11 говорит о самостоятельном назначении перемещения по отношению к стандартной библиотеке? Чтобы быть более конкретным, что, если что-нибудь, гарантировано о чемselfAssign делает? template<class T> std::vector<T> ...
Требуется ли сохранить емкость при перемещении std :: vector?
Рассмотрим следующий код: std::vector vec; vec.reserve(500); size_t cap = vec.capacity(); std::vector newVec = std::move(vec); assert(cap == newVec.capacity());Практически в любой реализации, с которой вы столкнетесь, это будет работать. Меня не ...
Семантика перемещения и передача по R-значению в перегруженной арифметике
Я кодирую небольшую библиотеку числового анализа в C ++. Я пытался реализовать с использованием новейших функций C ++ 11, включая семантику перемещения. Я понимаю обсуждение и топ-ответ в следующем посте:C ++ 11 значения и путаница в семантике ...
Переместить конструктор и список инициализации
Я хочу реализовать конструкторы перемещения (без конструктора копирования) для определенного типа, который должен быть типом значения вboost::unordered_map, Давайте назовем этот типComposite. Composite имеет следующую подпись: struct Base { ...