Аргументы по умолчанию против перегрузки по сравнению с Поиск имени?

В C ++ даны альтернативы:

void fun(int arg1, int arg2opt = 0);

// vs.

void fun(int arg1, int arg2);
void fun(int arg1) {
fun(arg1, 0);
}

Существуют ли какие-либо различия для пользовательского кода, желающего использовать эту функцию, то есть, учитывая любую кодовую базу, какие конструкции кода будут ломаться (во время компиляции или во время выполнения), когда я должен был изменить первое определение на второе? (Разрешение перегрузки? Поиск имени? Назначение fun к указателю на функцию? Использование в шаблонах (std::function)? …)

Или это будет то же самое семантически? (вот некоторые детали что я знаю и которые не имеют отношения к этому вопросу)

1

Решение

Я думаю эта ссылка полезно для запуска, но вы назвали templateЯ испытал в template , Если ваша программа продуктивна и у вас нет времени на изучение шаблонов, остановитесь и изучите шаблоны в отпуске. У нее нет быстрых ссылок, и ее ошибки немного отличаются от OOD/P , но если у вас есть время, начните.

-1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector