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