Функция, аргументы которой зависят от параметра шаблона ⇐ C++
-
Гость
Функция, аргументы которой зависят от параметра шаблона
моя функция выглядит так
шаблон void func(int& arg1, const int arg2){ //много кода... if (дополнительный && arg2 > 0) ++arg1; аргумент1 *= 10; //много кода... } проблема в том, что когда extra имеет значение false, arg2 не используется, но функция все равно требует его указания, что приводит к ненужным выделение памяти для arg2 (вы можете проверить вывод сборки здесь). Есть ли способ изменить функцию так, чтобы, когда extra имеет значение false, она принимала только arg1, избегая выделения памяти для arg2< /code> в таком случае?
моя функция выглядит так
шаблон void func(int& arg1, const int arg2){ //много кода... if (дополнительный && arg2 > 0) ++arg1; аргумент1 *= 10; //много кода... } проблема в том, что когда extra имеет значение false, arg2 не используется, но функция все равно требует его указания, что приводит к ненужным выделение памяти для arg2 (вы можете проверить вывод сборки здесь). Есть ли способ изменить функцию так, чтобы, когда extra имеет значение false, она принимала только arg1, избегая выделения памяти для arg2< /code> в таком случае?
Мобильная версия