По моему опыту, существует много кода, который явно использует встроенные функции, которые возникают при компромиссе:
- Код становится менее кратким и несколько менее ремонтопригодным.
- Иногда инкрустация может значительно увеличить производительность во время выполнения.
- Вкладывание определяется в определенный момент времени, возможно, без ужасного хорошего предвидения его использования или без учета всех (будущих) окружающих обстоятельств.
Вопрос: оптимизирует ли привязка времени (например, в GCC) вручную, например, объявляет в C99 функцию "встроенный" и обеспечивает реализацию, устаревшую? Верно ли, что нам не нужно рассматривать встроенную функцию для большинства функций? Что относительно функций, которые всегда извлекают выгоду из встраивания, например, deg_to_rad (x)?
Уточнение: я все равно не думаю о функциях, которые находятся в одной и той же системе перевода, но о функциях, которые должны логически находиться в разных единицах перевода.
Обновление: я часто видел оппозицию против "inline", и было предложено устареть. Лично, однако, я часто вижу явно встроенные функции: как функции, определенные в теле класса.