Нет однозначного ответа на этот вопрос.Компиляторы умные звери.Вы можете специально использовать встроенные слова, если хотите, но это не значит, что компилятор на самом деле встроит функцию.
Inline, чтобы помочь разработчику с оптимизацией.Он намекает компилятору на то, что что-то должно быть встроено, но в настоящее время эти советы обычно игнорируются, поскольку компиляторы могут лучше выполнять присваивание регистров и решать, когда вставлять функции (на самом деле, компилятор может либо встроить, либо не встроить функцию в разные моменты времени).).Генерация кода на современных процессорах гораздо сложнее, чем на более детерминированных, которые были распространены, когда Ритчи изобретал C.
Что сейчас означает слово в C ++, так это то, что оно может иметь несколько идентичных определений и должно бытьопределяется в каждой единице перевода, которая его использует.(Другими словами, вы должны убедиться, что он может быть встроенным.) Вы можете иметь встроенную функцию в заголовке без проблем, и функции-члены, определенные в определении класса, автоматически эффективно встроены.
Это сказалоРаньше я работал с компилятором greenhills, и он фактически подчинялся моей воле больше, чем не слушался :) .. Это на самом деле зависит от компилятора.