Вопросы по теме 'return-value-optimization'

Понимание оптимизации возвращаемого значения и возврата временных значений — C++
Пожалуйста, рассмотрите три функции. std::string get_a_string() { return "hello"; } std::string get_a_string1() { return std::string("hello"); } std::string get_a_string2() { std::string str("hello"); return str; } Будет...
4839 просмотров

C++: возврат по ссылке и конструкторы копирования
Ссылки на C++ меня сбивают с толку. :) Основная идея заключается в том, что я пытаюсь вернуть объект из функции. Я хотел бы сделать это без возврата указателя (потому что тогда мне пришлось бы вручную delete его) и без вызова конструктора...
16835 просмотров

Правильный способ (семантика перемещения) для возврата std::vector из вызова функции в С++ 11
Я хочу заполнить std::vector (или другой контейнер STL): class Foo { public: Foo(int _n, const Bar &_m); private: std::vector<Foo> fooes_; } 1.Красивый актер, высокая производительность std::vector<Foo>...
19971 просмотров

Будет ли компилятор С++ оптимизировать неиспользуемое возвращаемое значение по «ссылке»?
Прежде чем кто-то прыгнет и скажет Profile before optimize! , это просто любопытный вопрос, который вытекает из этот исходный вопрос . Если я возвращаю по ссылке тот же объект, будет ли он оптимизирован, если не будет использоваться? Например, у...
1195 просмотров

Быстрее ли вернуть значение или изменить параметр, переданный по ссылке?
В программе, которую я пишу, мне приходится передавать большие структуры данных (изображения) между функциями. Мне нужно, чтобы мой код работал как можно быстрее на разных ОС (таким образом, я не могу профилировать все тестовые случаи). У меня часто...
3012 просмотров
schedule 26.05.2022

Является ли RVO (оптимизация возвращаемого значения) для безымянных объектов универсально гарантированным поведением?
Этот вопрос находится в другой аспект (также ограниченный gcc). Мой вопрос касается только безымянных объектов . Оптимизация возвращаемого значения может изменять наблюдаемое поведение получившейся программы. Кажется, это также...
977 просмотров

Как отключить оптимизацию возвращаемого значения в Visual Studio 2010?
Можно ли отключить RVO (оптимизацию возвращаемого значения) в Visual Studio 2010? Установка флага оптимизации на /Od (отключает все оптимизации) не помогает. В g++ существует флаг -fno-elide-constructors , который отключает RVO.
4867 просмотров

Оптимизация возвращаемого значения C++
Этот код: #include <vector> std::vector<float> getstdvec() { std::vector<float> v(4); v[0] = 1; v[1] = 2; v[2] = 3; v[3] = 4; return v; } int main() { std::vector<float> v(4); for (int i...
9062 просмотров

Влияет ли возврат по константному значению на оптимизацию возвращаемого значения?
Рассмотрим функцию const std::string f() { return "hello"; } И звонок std::string x = f(); Независимо от того, должны ли возвращаемые значения быть константными или нет, мешает ли тот факт, что возвращаемое значение является...
983 просмотров
schedule 08.07.2022

Могу ли я эффективно вернуть объект по значению в Rust?
Я хочу инициализировать большой объект функцией. На данный момент у меня есть: fn initialize(mydata: &mut Vec<Vec<MyStruct>>) { /* ... */ } Я бы предпочел: fn initialize() -> Vec<Vec<MyStruct>> { /* ... */...
3481 просмотров

C ++: может ли компилятор оптимизировать передачу по значению?
Одна из широко известных оптимизаций компилятора - это так называемая оптимизация возвращаемого значения. Эта оптимизация в основном позволяет компилятору не копировать локальную переменную, возвращаемую функцией, а вместо этого перемещать ее....
2011 просмотров

Могу ли я гарантировать RVO для повторно преобразованных значений?
Предположим, я написал: Foo get_a_foo() { return reinterpret_cast<Foo>(get_a_bar()); } и предположим, что sizeof(Foo) == sizeof(Bar) . Обязательно ли здесь имеет место оптимизация возвращаемого значения, или компиляторы могут...
106 просмотров