Поскольку компилятор может решить, вернет ли (sizeof(T) > 1)
значение true или нет, во время самой компиляции компилятор может генерировать машинный код без какой-либо ветви, если он компилируется с включенным флагом оптимизации.Таким образом, результирующий код будет иметь либо for
цикл (или эквивалентный код, сгенерированный из него), либо memset
.Другими словами, результирующий код не будет иметь блока if-else
(при условии, что вы используете умный компилятор).