Я почти уверен, что дело не в том, что C ++ делает с кодом, потому что, как уже было сказано, это всего лишь подсказка.
Если вы начнете рассматривать разработку программного обеспечения, все изменится. Все изменения встроенных функций приведут к перекомпиляции всех зависимых файлов.
Хуже, когда вы поддерживаете библиотеку и хотите отправить версию с исправлением ошибки, оставаясь совместимой с ABI. Встроенные функции просто не могут быть заменены другой версией, потому что вызывающий код не может быть перекомпилирован. Поэтому, когда ваша не встроенная функция может быть заменена по желанию, вы должны перейти к новой версии вашего интерфейса, когда необходимо изменить встроенные функции.
Объедините это с тем фактом, что конструкторы редко могут на самом деле указывать компилятором, тогда вы можете себе представить, почему книга дает упомянутый совет.