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

1 ответ

Lvalue для rvalue ссылки привязки

Компилятор продолжает жаловаться, что я пытаюсь связать lvalue со ссылкой на rvalue, но не могу понять, как это сделать. Я новичок в C ++ 11, перемещаю семантику и т. Д., Поэтому, пожалуйста, потерпите меня. У меня есть эта функция: template ...

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

3 ответа

 может принять rvalue-ref, чтобы он не мог быть вызван для lvalue, без изменения rvalue (как в слишком простом примере выше).

аю, нет, но я хотел бы подтвердить. Есть ли польза дляconst Foo&&, гдеFoo это тип класса?

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

1 ответ

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

1 ответ

Я совершенно не в духе :) Спасибо за вашу историю!

еялся, чтоstringstream имеет конструктор, который крадет свое начальное содержимое изstring&&, Разве таких межвидовых «конструкторов перемещения» вообще не существует в STL? Если нет, то почему?

2 ответа

Бесполезно ли объявлять локальную переменную как rvalue-reference, например T && r = move (v)?

Не могли бы вы, ребята, дать мне иллюстративный пример при определенных обстоятельствах, чтобы доказать, что следующие утверждения полезны и необходимы? AnyTypeMovable v; AnyTypeMovable&& r = move(v);

4 ответа

 Stroutrup, et. аль

чал некоторые новые возможности C ++ 11, и одна из них я заметил, это двойной амперсанд при объявлении переменных, напримерT&& var. Для начала, как зовут этого зверя? Я бы хотел, чтобы Google позволил нам искать такие знаки препинания, как ...

2 ответа

Конечно, как глупо с моей стороны. Вы правы на обоих счетах. Позвольте мне исправить это в вопросе, чтобы читатели не учились на моем ошибочном примере.

льно ли использовать следующий фрагмент для определения всех других сгенерированных методов и конструкторов для класса? struct Picture { // 'explicit': no accidental cast from string to Picture explicit Picture(const string &filename) { /* load ...

5 ответов

 замена хотя.

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

6 ответов

, если сильно помогает производительности, если вы, например, поместите свой класс в

ИТЬвнизу q1:Как бы вы реализовалиправило пяти [https://stackoverflow.com/questions/4782757/rule-of-three-becomes-rule-of-five-with-c0x] для класса, который управляет довольно большими ресурсами, но вы хотите, чтобы он передавался по значению, ...