Мне известно, что ключевое слово inline имеет полезные свойства, например. для хранения специализированных шаблонов внутри файла заголовка.
С другой стороны, я часто читал, что inline почти бесполезен в качестве подсказки для компилятора для фактически встроенных функций.
Кроме того, ключевое слово не может использоваться внутри файла cpp, поскольку компилятор хочет проверить функции, помеченные ключевым словом inline, когда они вызывают.
Поэтому я немного запутался в "автоматических" встроенных возможностях современных компиляторов (а именно gcc 4.43). Когда я определяю функцию внутри cpp, может ли компилятор встраивать его в любом случае, если он считает, что вложение имеет смысл для функции или я лишу его возможности оптимизации? (Что было бы хорошо для большинства функций, но важно знать, что маленькие называются очень часто)