rvalue-reference

Я хочу создать функцию, которая берет необязательную ссылку на объект и создает ее на время действия функции, если она не предусмотрена, т. е. void Foo(Bar& b = Bar()) { /* stuff */ } Это, конечно, недопустимый код, поскольку Bar не может быть неявно преобразован в ссылку Bar в этом контексте. Ссылка ...

Предположим, что у меня есть вектор строк, и я хочу объединить их через std::accumulate. Если я использую следующий код: std::vector<std::string> foo{"foo","bar"}; string res=""; res=std::accumulate(foo.begin(),foo.end(),res, [](string &rs,string &arg){ return rs+arg; }); Я могу быть сов...

Потенциально связанные статьи: разрешение перегрузки между объектом, ссылкой rvalue, ссылкой const std:: begin и R-значения Для контейнера STLC, std::begin(C) и аналогичные функции доступа, включая std::data(C) (начиная с C++17), должны иметь такое же поведение C::begin() и других соответствующих ме...

Предположим, у меня есть следующий код. В B есть конструктор копирования, который вызывает метод, копирующий ресурсы a. Теперь у меня также есть конструктор перемещения. В этом случае a не должен быть скопирован, а просто "украсть" ресурсы из существующего a. поэтому я также реализовал init, принимая rvalue...

У меня есть этот фрагмент кода теста C++, #include <vector> class A { std::vector<int> x; public: A(std::vector<int>&& _x) : x(_x) {} }; class B { A a; public: B(std::vector<int>&& _x) : a(/*move(*/_x/*)*/) {} }; Я передаю _x в B в ...

C++11 std::move(x) функция на самом деле ничего не перемещает. Это просто приведение к r-значению. Зачем это было сделано? Разве это не вводит в заблуждение?...

например: Beta_ab&& Beta::toAB() const { return move(Beta_ab(1, 1)); } ...

есть ли причина, когда функция должен вернуть ссылку RValue? Техника, трюк, идиома или паттерн? MyClass&& func( ... ); Я знаю об опасности возвращения ссылок в целом, но иногда мы делаем это в любом случае, не так ли (T& T::operator=(T) это всего лишь один идиоматических примеру). Но как насчет...

У меня есть класс контейнера прокси вокруг подвижного объекта и я хочу, чтобы прокси мог неявно давать ссылку rvalue на базовый объект, но только когда сам прокси перемещается. Я считаю, что я смогу реализовать это поведение в соответствии с предложением n2439 "расширение семантики перемещения до *this", н...

Я наблюдал за Скоттом Мейерсом говорить на универсальные ссылки С конференции C++ и за ее пределами 2012 года, и все имеет смысл до сих пор. Тем не менее, член аудитории задает вопрос примерно через 50 минут, о котором мне тоже было интересно. Мейерс говорит, что его не волнует ответ, потому что он неидиомати...