AF
Size: a a a
AF
AF
АС
AF
AF
O
A, x точно подходит по типу для первой перегрузки, а other точно подходит для второй. При этом, для оставшегося аргумента в случае обеих перегрузок требуется преобразование – либо x к int, либо other к int64_t, компилятор не ванга, он не собирается угадывать, какое из этих преобразований более правильно. Я больше скажу – даже два программиста могут не сойтись во мненииB же такой проблемы нет потому что для первой перегрузки требуется только одно преобразование – other в int64_t, а для второй – сразу два, x в int, а other в double, т.е. вторая перегрузка ни в каком виде не может быть более приоритетной, чем перваяАС
A, x точно подходит по типу для первой перегрузки, а other точно подходит для второй. При этом, для оставшегося аргумента в случае обеих перегрузок требуется преобразование – либо x к int, либо other к int64_t, компилятор не ванга, он не собирается угадывать, какое из этих преобразований более правильно. Я больше скажу – даже два программиста могут не сойтись во мненииB же такой проблемы нет потому что для первой перегрузки требуется только одно преобразование – other в int64_t, а для второй – сразу два, x в int, а other в double, т.е. вторая перегрузка ни в каком виде не может быть более приоритетной, чем перваяАС
AE
IZ
AB
O
АС
АС
IZ
AE
O
std::bind и не используйте std::function", а "не используйте std::bind и std::function вместе"std::bind компилятор смог оптимизировать вплоть до вычисления на этапе компиляции (как и лямбду, кстати), а std::function сгенерировал некоторый объем лишнего кода, то их комбинация привела к тому, что компилятор вообще не разобрался, что делать и нагенерировал кучу лишнегоDP
std::bind и не используйте std::function", а "не используйте std::bind и std::function вместе"std::bind компилятор смог оптимизировать вплоть до вычисления на этапе компиляции (как и лямбду, кстати), а std::function сгенерировал некоторый объем лишнего кода, то их комбинация привела к тому, что компилятор вообще не разобрался, что делать и нагенерировал кучу лишнего