У меня есть функция, которая создает тип дорогостоящего объекта (содержащий векторы и карты нефиксированного размера), поэтому я действительно хочу избежать вызова копий c'tors. До сих пор я только что возвращал std :: ...
Это Обычно считается, что удаление элемента в середине std :: vector требует больших затрат, так как для заполнения дыры необходимо копировать каждый элемент после него. В C ++ 11 вместо этого std :: vector будет ...
Рассмотрим класс X с N переменными-членами, каждая из которых имеет некоторый копируемый и подвижный тип, и N соответствующих функций-сеттеров. В C ++ 98 определение X скорее всего будет выглядеть примерно так: класс X ...
Мен std :: vector (немесе басқа STL контейнерін) толтырғым келеді: класс Foo {
көпшілікке арналған: Foo (int _n, const Bar & _m);
жеке: std :: vector fooes_;
} 1. Жақсы көрінетін ктор, қымбат өнімділігі
...
Я прочитал некоторые описания семантики перемещения в C++11, и мне интересно, в каком контексте ее можно использовать.
В настоящее время многие математические библиотеки C++ используют метапрограммирование шаблонов для задержки оценки.Если M = A +...
Рассмотрим следующий код:#включить <вектор> #включить структуру A :private boost ::noncopyable { A (int num, const std ::string& name):число (число ),...
12.8 Копирование и перемещение объектов класса [class.copy] §31 и §32 говорят :в операторе возврата в функции с типом возвращаемого значения класса, когда выражение является именем неизменяемого -автоматического объекта (...
Мне любопытно, как именно работает эта функция. Рассмотрим что-то вроде std ::unique _ptr f (){ std ::unique _ptr lval (nullptr ); вернуть значение; } Этот код прекрасно компилируется даже для...
Я вижу два разумных решения проблемы члена, который становится владельцем параметра :Foo ::Foo (std ::unique _параметр ptr)
:элемент (стандарт ::перемещение (параметр )){ } Панель ::Панель (стандартная ::уникальная _ptr&...
Часто говорят, что в C++11 разумно возвращать вектор std ::по значению. В C++03 это было в основном верно, поскольку RVO должен оптимизировать копию. Но это должно отпугнуть большинство разработчиков. В С++ 11...
Я знаю, что при передаче объекта по значению в функцию всегда вызывается конструктор перемещения, если он существует, при условии отсутствия копии. Как насчет возврата объекта по значению? Например, скажем ...
Я искал, но не нашел ответа на вопрос «Когда» их использовать. Я просто продолжаю слышать, что это хорошо, потому что это экономит мне лишнюю копию. Я ходил по каждому классу, который у меня был, но как-то так...
До C++11, если бы у меня была функция, работающая с большими объектами, я инстинктивно писал функции с таким прототипом. void f(A &return_value, A const ¶meter_value); (...
Я пытался определить конструктор перемещения по умолчанию в классе с переменной-членом boost::Optional. #include
#include <утилита>
#include struct ...
Этот пост немного бессвязный, поэтому, прежде чем я перейду к нему, я хочу прояснить, о чем я спрашиваю :Добавили ли вы сеттеры с поддержкой перемещения -в свой код и считаете ли вы, что это стоит затраченных усилий? А сколько из...
Что нужно для использования оператора присваивания перемещения стандартной строки ::(в VC11 )? Я надеялся, что он будет использоваться автоматически, так как v больше не нужен после назначения. Требуется ли в этом случае перемещение std ::?...
Как правильно реализовать конструктор перемещения с учетом следующего класса :class C { общедоступный :C (); С (С&& с ); частная :стандартная ::строка строка; } Конечно, идея...
Рассмотрим следующее :ComplexObject foo (){Время сложного объекта; // Делаем что-то с temp ComplexObject result (temp, SOME _OTHER _SETTING ); //1 // Делаем что-то с результатом. Не используйте temp at...
В операторе присваивания класса вам обычно нужно проверить, является ли назначаемый объект вызывающим объектом, чтобы не облажаться: Class & Class :: operator = (const Class & rhs) {...
Вопрос. Можем ли мы использовать семантику перемещения для перемещения объекта, выделенного в куче, в стеке? Пример #include
#include подключение класса
{
public: connection(boost::...
У меня есть следующие две перегрузки шаблона функций :template необязательный некоторый (const T& x ){ вернуть необязательный (x ); } шаблон<имя типа T> typename std ::...
Краткий обзор Как безопасно спроектировать конструктор перемещения, когда класс использует множественное наследование? Подробности Рассмотрим следующий сценарий:struct T { }; структура U {}; структура X :общедоступный T, общедоступный U {...
Допустим, я хочу реализовать функцию, которая должна обрабатывать объект и возвращать новый (возможно измененный)объект. Я хотел бы сделать это максимально эффективно в C + 11. Окружение такое...
После некоторых экспериментов с семантикой перемещения с типом массива, который я создал, мне интересно, почему компилятор Microsoft C++ вызывает конструктор перемещения при возврате из метода по значению, в то время как...
У меня есть API, который выглядит так: void WriteDefaultFileOutput(std::wostream &str, std::wstring target)
{ // Какой-то код, который изменяет цель перед ее печатью и тому подобное...
} Мне интересно...