Результаты поиска по запросу "rvalue-reference"

4 ответа

Ссылка на C ++ 11 также вызывает конструктор копирования

Я тестировал некоторые функции C ++ 11 из некоторых. Я наткнулся на ссылки r-значения и конструкторы перемещения. Я реализовал свой первый конструктор перемещения, вот он: #include <iostream> #include <vector> using namespace std; class ...

4 ответа

Какой вариант использования для перегрузки функций-членов в ссылочных квалификаторах?

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 ...

4 ответа

Избегайте экспоненциального роста константных ссылок и ссылочных значений в конструкторе

Я кодирую некоторые шаблонные классы для библиотеки машинного обучения, и я сталкивался с этой проблемой много раз. Я использую в основном шаблон политики, где классы получают в качестве аргументов шаблона политики для различных функций, ...

ТОП публикаций

5 ответов

Передача по ссылке, константной ссылке, rvalue-ссылке или постоянной rvalue-ссылке?

Я учился прохождению по ссылке, и вот тест, который я сделал:

5 ответов

 перемещение может быть настолько эффективным, насколько уже есть копия.

вая высокое качество современных компиляторов в отношении оптимизации возвращаемого значения (как RVO, так и NRVO), мне было интересно, для какой сложности класса имеет смысл начинать добавлять конструкторы перемещения и операторы присваивания ...

5 ответов

Все 3 варианта удовлетворяют 1, поскольку default + copy, default + move эквивалентны значению по умолчанию. Все 3 варианта удовлетворяют 3. Все 3 варианта удовлетворяют 2: они работают для типов DefaultConstructible. Определенный алгоритм может использоваться для Подвижных типов. В STL принято использовать разные версии алгоритмов для типов с разными возможностями.

у приложение для Linux и Windows, и заметил, что сборка GCC производит много бесполезных вызовов конструктора копирования. Вот пример кода, чтобы произвести это поведение: struct A { A() { std::cout << "default" << std::endl; } A(A&& rvalue) ...

5 ответов

 замена хотя.

ли причина, когда функциядолжен вернуть ссылку RValue? Техника или трюк, или идиома или шаблон? MyClass&& func( ... );Я осознаю опасностьвозвращающие ссылки [https://stackoverflow.com/questions/3033689/question-about-r-value-in-c0x]в общем, но ...

5 ответов

, Если кто-нибудь знает как, смело редактируйте / добавляйте в мой пост.

у перегрузить функцию, чтобы она каким-то образом манипулировала своим аргументом и затем возвращала ссылку на аргумент - но если аргумент не является изменяемым, то он должен возвращать манипулированныйкопия аргумента вместо. После того, как ...

5 ответов

Как сделать так, чтобы параметр ссылки на rvalue шаблона ТОЛЬКО связывался с ссылкой на rvalue?

Я пишу сетевую библиотеку и интенсивно использую семантику перемещения для обработки владения файловыми дескрипторами. Один из моих учеников хочет получить обертки дескрипторов файлов других типов и стать владельцем, так что это ...

5 ответов

Передача по ссылке, константной ссылке, rvalue-ссылке или постоянной rvalue-ссылке?

Я учился прохождению по ссылке, и вот тест, который я сделал: #include <iostream> using namespace std; int i = 0; //If this is uncommented, compiler gives ambiguous definition error. //void paramCheck (string s) { // cout << ++i << ". Param is ...