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

2 ответа

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

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

4 ответа

 Stroutrup, et. аль

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

3 ответа

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

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

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

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

8 ответов

@ Конрад, мне кажется, это слишком многословно, после того, как будет определен cctor, mctor не будет определен (насколько я понимаю текущий проект). Вы бы также определили конструктор по умолчанию как удаленный для каждого класса, который определяет пользовательский конструктор?

после просмотраэта замечательная лекция [http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Introduction-to-STL-with-Stephan-T-Lavavej/] по ссылкам на rvalue я думал, что каждый класс получит пользу от такого «конструктора ...

5 ответов

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

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

0 ответов

 память или ограниченный ресурс, такой как дескриптор файла. Но необходимость передать их обратно пахнет скорее «плохим дизайном», чем «полезным ограничением».

рограммировании на C ++ 03 мы не можем передать безымянный временныйT() к функцииvoid foo(T&);, Обычное решение - дать временному имя, а затем передать его следующим образом: T v; foo(v);Теперь идет C ++ 0x - и теперь со ссылками на rvalue ...

1 ответ

@ Клинтон: Вы абсолютно правы. Я пытался уточнить.

нтересно, лучшая форма для моих конструкторов. Вот пример кода:

1 ответ

Может ли кто-нибудь объяснить rvalue ссылки в отношении исключений?

Допустим, у меня есть этот класс исключений:

6 ответов

Преимущества использования форварда

В идеальной пересылке,