inline
опасно и дорого.
Это дорого, потому что каждая единица компиляции, которая использует что-то, теперь зависит от определения вещи.Так поменять тело?Перекомпилируйте его каждому пользователю.
Это опасно, потому что, если два определения inline
не совпадают, ваша программа является IF-NDR (неправильно сформирована, диагностика не требуется).
Без inline
,два определения вызывают плохо сформированную программу, но компилятор должен предоставить диагностику;обычно серьезная ошибка.
inline
отключает это чрезвычайно полезное предупреждение.
Если каждый компилятор был способен преобразовать IF-NDR различных определений inline
в диагностическое сообщение об ошибке, которое выбыло бы больше дела.Пока это оказывается трудным и / или не реализованным, inline
является «активировать небезопасный режим!»вариант.Установка по умолчанию будет контрпродуктивной.