Size: a a a

2020 October 03

АМ

Айсая Марат... in pro.cxx
Как сделать так чтобы массивы вывелись в обратном порядке?
источник

LA

Liber Azerate in pro.cxx
Айсая Марат
Как сделать так чтобы массивы вывелись в обратном порядке?
источник

AD

Apache DOG™ in pro.cxx
Айсая Марат
Как сделать так чтобы массивы вывелись в обратном порядке?
источник

AN

Alexander N in pro.cxx
Andrei K
Это может работать по-разному. Сильно зависит от оптимизатора. К примеру, пасс оптимизитора, который делает RVO может находится после того как был сгенерирован код для += и оптимизатор может инферрить какие-то вещи о возвращаемом значении.
Это как? Сгенерили одни инструкции, а потом раз и оптимизатор всё переделал?
источник

AK

Andrei K in pro.cxx
Alexander N
Это как? Сгенерили одни инструкции, а потом раз и оптимизатор всё переделал?
Запросто.
источник

AK

Andrei K in pro.cxx
Если речь про кланг, то там половина оптимизаций на стадии IR, половина после.
источник

АР

Андрей Руссков... in pro.cxx
Dmitriy
При вызове noexcept-функции из блоков try/catch компилятор сам уберет оверхеды?
компилятор вообще не понимает что try/catch как-то можно оптимизировать
источник

D

Dmitriy in pro.cxx
Андрей Руссков
компилятор вообще не понимает что try/catch как-то можно оптимизировать
Точно?
Нужно ли вручную, например,с помощью if constexpr отключать часть кода?
источник

АР

Андрей Руссков... in pro.cxx
ну я бы посоветовал, да
источник

АР

Андрей Руссков... in pro.cxx
опять же, можешь проверять
источник

АР

Андрей Руссков... in pro.cxx
типа годболт придумали специально для этого
источник

D

Dmitriy in pro.cxx
Андрей Руссков
типа годболт придумали специально для этого
Логично. Спасибо)
источник

АР

Андрей Руссков... in pro.cxx
хотя я малех соврал
источник

АР

Андрей Руссков... in pro.cxx
кажется gcc/clang научились оптимизировать тривиальные try/catch случаи
источник

АР

Андрей Руссков... in pro.cxx
источник

АР

Андрей Руссков... in pro.cxx
но msvc разумеется еще не там
источник

АР

Андрей Руссков... in pro.cxx
но кейс
try {
   throw 1;
} catch (int i) {
   return i;
}
источник

АР

Андрей Руссков... in pro.cxx
всё равно никак
источник

D

Dmitriy in pro.cxx
Андрей Руссков
хотя я малех соврал
Я вряд ли проверю конкретно мой случай, слишком много глубоко шаблонного кода
источник

D

Dmitriy in pro.cxx
Где-то в глубине обработчиков есть цепочка try/catch, и интересно, может ли она оптимизироваться...
Но, видимо, без проверки никак
источник