Результаты поиска по запросу "return-value-optimization"
Я целенаправленно использовал терминологию ОП в своем ответе. Стандарт стремится быть точным, но это паршивый учебник. Я не (и до сих пор не понимаю), что я был расплывчатым. Это, конечно, распространенная ошибка, от которой я не застрахован. Я с удовольствием уточню, знаю ли я, какие части моего ответа были неоднозначными. Моя цель - распространять знания, а не сбивать их с толку.
тим, у нас есть следующий код: std::vector<int> f() { std::vector<int> y; ... return y; } std::vector<int> x = ... x = f();Кажется, у компилятора есть два подхода: (a) NRVO: уничтожить x, затем построить f () вместо x. (b) Перемещение: ...
Может ли компилятор C ++ выполнить RVO для const возвращаемого значения?
Допустим, у меня есть функция #include <string> std::string const foo() { std::string s = "bar"; return s; } int main() { std::string t = foo(); }Может ли компилятор выполнить (именованную) оптимизацию возвращаемого значения дляtхотя типыs а ...
Как отключить оптимизацию возвращаемого значения в Visual Studio 2010?
Можно ли отключить RVO (оптимизацию возвращаемого значения) в Visual Studio 2010? Установка флага оптимизации на/Od (отключает все оптимизации) не помогает. В g ++ существует флаг-fno-elide-constructors который отключает RVO.
Когда должен быть RVO?
Из следующего кода: если произошел RVO, я ожидаю увидеть 2 адреса, указывающие на одно и то же местоположение, однако это не так (мой компилятор - MS VC9.0) #include <iostream> #include <string> std::string foo(std::string& s) { std::cout << ...
Является ли RVO (оптимизация возвращаемого значения) для неназванных объектов универсально гарантированным поведением?
Этот вопрос [https://stackoverflow.com/questions/7596183/is-rvo-return-value-optimization-guaranteed-for-all-objects-in-gcc-compilers] находится в другом аспекте (также ограничен gcc). Мой вопрос предназначен только длябезымянные объекты. ...
C ++ метод get - возврат по значению или по ссылке
У меня очень простой вопрос, но, к сожалению, я не могу сам найти ответ.Предположим, у меня есть некоторая структура данных, которая содержит настройки и дей...
@ildjarn Не с моими компиляторами, это не так. Семантика перемещения недоступна в большинстве компиляторов, а те, которые я использую, не используют их в стандартной библиотеке, даже если они доступны.
у заполнить std :: vector (или какой-нибудь другой контейнер STL): class Foo { public: Foo(int _n, const Bar &_m); private: std::vector<Foo> fooes_; }1. Хорошо выглядящий ctor, высокая производительность std::vector<Foo> get_vector(int _n, ...
и позволить вызывающей стороне обернуть его в потоке?
аю, я пойду прямо в это и начну с кода: #include <iostream> #include <fstream> #include <string> class test : public std::ofstream { public: test(const std::string& filename) { this->open(gen_filename(filename)); }; test(const test&) = delete; ...
Страница 1 из 2