Есть примерно такой код. И два способа использования.
1. Штатный должен выполнить все. Результатом будет вектор строк, который пойдет в ГУИ при нажатии мышки на пиксель (push — кидает строку в вектор).
2. Тестовый должен получить только finalVal для проверки. Создание объектов очень сильно убивает перформанс. Ибо в тестах нужно пройти каждый пиксель, каждой картинки. Т.е. он вызывается на много порядков чаще, чем при штатной работе.
Хочется без всяких if получить два кода. Пробовал сделать push пустым (думал в ней и сделаю if (template_parameter)). Но MSVC QString все равно создает и тут же сносит. Clang вроде как чистит все в ноль.
Есть ли какой-нибудь универсальный метод сделать нужное без макросов и лишних If?
Re: Оптимизация: убрать вычисление параметров у пустой функции
Здравствуйте, sergii.p, Вы писали:
SP>Здравствуйте, adb, Вы писали:
adb>>Есть ли какой-нибудь универсальный метод сделать нужное без макросов и лишних If?
SP>похоже, вам нужно что-то типа lazy. В шарпе он есть, в С++ нет, но можно сделать самому.
Прикольно. Полезный инструмент. Но я тут подумал, наверно проще будет просто переопределить QString. Сделать его параметром шаблона и подсовывать класс пустышку. Попробую так сделать.
Re[2]: Оптимизация: убрать вычисление параметров у пустой функции