Вопросы по теме '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 просмотров
schedule
05.11.2022
C++: возврат по ссылке и конструкторы копирования
Ссылки на C++ меня сбивают с толку. :)
Основная идея заключается в том, что я пытаюсь вернуть объект из функции. Я хотел бы сделать это без возврата указателя (потому что тогда мне пришлось бы вручную delete его) и без вызова конструктора...
16835 просмотров
schedule
03.02.2023
Правильный способ (семантика перемещения) для возврата 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 просмотров
schedule
10.01.2023
Будет ли компилятор С++ оптимизировать неиспользуемое возвращаемое значение по «ссылке»?
Прежде чем кто-то прыгнет и скажет Profile before optimize! , это просто любопытный вопрос, который вытекает из этот исходный вопрос .
Если я возвращаю по ссылке тот же объект, будет ли он оптимизирован, если не будет использоваться? Например, у...
1195 просмотров
schedule
19.04.2023
Быстрее ли вернуть значение или изменить параметр, переданный по ссылке?
В программе, которую я пишу, мне приходится передавать большие структуры данных (изображения) между функциями. Мне нужно, чтобы мой код работал как можно быстрее на разных ОС (таким образом, я не могу профилировать все тестовые случаи). У меня часто...
3012 просмотров
schedule
26.05.2022
Является ли RVO (оптимизация возвращаемого значения) для безымянных объектов универсально гарантированным поведением?
Этот вопрос находится в другой аспект (также ограниченный gcc). Мой вопрос касается только безымянных объектов . Оптимизация возвращаемого значения может изменять наблюдаемое поведение получившейся программы. Кажется, это также...
977 просмотров
schedule
11.11.2022
Как отключить оптимизацию возвращаемого значения в Visual Studio 2010?
Можно ли отключить RVO (оптимизацию возвращаемого значения) в Visual Studio 2010? Установка флага оптимизации на /Od (отключает все оптимизации) не помогает. В g++ существует флаг -fno-elide-constructors , который отключает RVO.
4867 просмотров
schedule
25.06.2022
Оптимизация возвращаемого значения 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 просмотров
schedule
25.03.2023
Влияет ли возврат по константному значению на оптимизацию возвращаемого значения?
Рассмотрим функцию
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 просмотров
schedule
08.12.2022
C ++: может ли компилятор оптимизировать передачу по значению?
Одна из широко известных оптимизаций компилятора - это так называемая оптимизация возвращаемого значения. Эта оптимизация в основном позволяет компилятору не копировать локальную переменную, возвращаемую функцией, а вместо этого перемещать ее....
2011 просмотров
schedule
07.01.2023
Могу ли я гарантировать RVO для повторно преобразованных значений?
Предположим, я написал:
Foo get_a_foo() {
return reinterpret_cast<Foo>(get_a_bar());
}
и предположим, что sizeof(Foo) == sizeof(Bar) .
Обязательно ли здесь имеет место оптимизация возвращаемого значения, или компиляторы могут...
106 просмотров
schedule
16.08.2023