Результаты поиска по запросу "rvalue-reference"
C ++ 11: Почему разрешено присваивать значения?
Из того, что я понимаю, причина, по которой опасно возвращать ссылки на rvalues из функций, обусловлена следующим кодом: T&& f(T&& x) { do_something_to_T(x); return static_cast<T&&>(x); } T f(const T& x) { T x2 = x; do_something_to_T(x2); return ...
Какой вариант использования для перегрузки функций-членов в ссылочных квалификаторах?
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 ++ 11 make_pair с указанными параметрами шаблона не компилируется
Я просто играл с g ++ 4.7 (одним из последних снимков) с включенной опцией -std = c ++ 11. Я попытался скомпилировать часть моей существующей кодовой базы, и один случай, который потерпел неудачу, несколько смутил меня. Буду признателен, если ...
Почему `std :: move` называется` std :: move`?
C ++ 11std::move(x) функция на самом деле ничего не двигает вообще. Это просто приведение к r-значению. Почему это было сделано? Разве это не вводит в заблуждение?
Семантика перемещения и передача по R-значению в перегруженной арифметике
Я кодирую небольшую библиотеку числового анализа в C ++. Я пытался реализовать с использованием новейших функций C ++ 11, включая семантику перемещения. Я понимаю обсуждение и топ-ответ в следующем посте:C ++ 11 значения и путаница в семантике ...
Должен ли я вернуть ссылку на rvalue (посредством std :: move'ing)?
A C ++ Следующая запись в блоге [http://web.archive.org/web/20140110115411/http://cpp-next.com/archive/2009/09/making-your-next-move/] сказал, что A compute(…) { A v; … return v; }ЕслиA имеет доступный конструктор копирования или перемещения, ...
Синтаксис для универсальных ссылок
Это ссылка на значение: void foo(int&& a);Это не связывает с lvalues: int i = 42; foo(i); // errorЭто универсальная ссылка: template<typename T> void bar(T&& b);Он связывается с rvalues, а также с lvalues: bar(i); // okayЭто ссылка на ...
Ссылка на Rvalue: Почему rvalue не перемещается неявно?
На Artima статья про C ++ rvalue ссылка ( http://www.artima.com/cppsource/rvalue.html [http://www.artima.com/cppsource/rvalue.html]) есть слова:Вот почему при переходе к базовому классу необходимо указывать move (x) вместо просто x. Это ключевая ...
Продолжительность жизни и условный оператор
локальные ссылки на lvalue-to-const и rvalue могут продлить время жизни временных файлов: const std::string& a = std::string("hello"); std::string&& b = std::string("world");Это также работает, когда инициализатор не является простым выражением, ...
Очевидно, отсутствует перегрузка getline (), принимающая RRef для потоковой передачи в GCC 4.7.2 и Clang 3.2
Я столкнулся с неожиданной ошибкой компиляции при попытке использоватьgetline() с временным объектом потока: #include <iostream> #include <string> #include <sstream> using namespace std; int main() { string input = ...