Результаты поиска по запросу "rvalue-reference"
Превращают ли компиляторы C ++ 11 локальные переменные в значения r, когда они могут это сделать во время оптимизации кода?
Иногда целесообразно разбить сложные или длинные выражения на несколько шагов, например (2-я версия не совсем понятна, но это всего лишь пример):
Почему `std :: move` называется` std :: move`?
C ++ 11std::move(x) функция на самом деле ничего не двигает вообще. Это просто приведение к r-значению. Почему это было сделано? Разве это не вводит в заблуждение?
Какой вариант использования для перегрузки функций-членов в ссылочных квалификаторах?
C ++ 11 позволяет перегружать функции-члены на основе ссылочных квалификаторов: class Foo { public: void f() &; // for when *this is an lvalue void f() &&; // for when *this is an rvalue }; Foo obj; obj.f(); // calls lvalue ...
Является ли конструкция «передача по значению и перемещению» плохой идиомой?
Так как у нас есть семантика перемещения в C ++, в настоящее время это обычно делается void set_a(A a) { _a = std::move(a); }Причина в том, что еслиa является значением, копия будет удалена, и будет только один ход. Но что произойдет, еслиa ...
c ++ 11 синтаксис emplace_back и push_back со структурой
Я использую MSVC, Visual Studio 2013. Предположим, у меня есть структура: struct my_pair { int foo, bar; };И я хочу добавить кучу из них эффективно, не создавая временные и не удаляя их: vector<my_pair> v; v.push_back(41, 42); // does not work ...
c ++ 11 синтаксис emplace_back и push_back со структурой
м с использованием MSVC, Visual Studio 2013.Предположим, у меня есть структура: