Просто нет.
"inline
" - это просто подсказка компилятору.
Есть способы заставить компилятор inline
чем-то, но эти способы зависят от компилятора. Ваш код выглядит мобильным для меня, поэтому вот некоторые способы на некоторых компиляторах C ++, используемых на различных платформах мобильных телефонов:
Компилятор ARM в Windows CE / Windows Mobile VC ++ использует ключевое слово __forceinline
вместо подсказки ' inline '.
Лучший компилятор (т. Е. Ускоряет вывод) для Windows CE / Windows Mobile - cegcc , в котором используется самая последняя версия GCC 4.4. В GCC вы пишете __attribute__((always_inline))
после имени функции и перед телом.
Чем важнее, если будет хорошей идеей встроить этот цикл. Я программирую мобильные телефоны на жизнь, и у них вообще нет большого бюджета процессора. Но я был бы очень удивлен, если эта петля является узким местом. Уберите из своей программы все «встроенные» декорации, и когда вы приближаетесь к отгрузке, если программа работает медленно, профилируйте ее!
Некоторые компиляторы допускают «управляемую профилем оптимизацию», где они могут создать инструментированный двоичный файл, который вы запускаете реалистичным образом, а затем они используют собранные данные для создания рабочего бинарного файла, где они принимают обоснованные решения о скорости кода в зависимости от размера кода. в различных частях вашей программы, чтобы дать наилучшее сочетание обоих.