Что делать, если я использую встроенную функцию здесь и там

0

Я знаю, что встроенные функции используются так, что мы можем избавиться от вызовов функций.

Я вижу, что использование встроенной функции - хороший способ использования хранилища и сохранение стека более пустым.

Это хорошая практика программирования для использования встроенных функций во всем мире.

Я думаю, что это так, потому что, потому что компиляторы не обязаны использовать встроенные функции, рядный, когда функции являются сложными, так что это будет хороший подход, чтобы добавить, что словечко inline к каждому функции?

Теги:
inline

2 ответа

1
Лучший ответ

Моим общим правилом является использование inline функций, когда содержание функции меньше или равно накладным расходам на вызов функции.

Примером может служить метод getter или setter.

После того, как программа работает правильно и надежно, я конвертирую некоторые функции в узкие места для использования inline. Тем не менее, это микро-оптимизация и, как правило, не дает такой экономии, как перепроектирование алгоритма.

Как утверждали другие, встроенные функции наносят ущерб процессу сборки, поскольку файл заголовка изменен, и все зависимости от файла заголовка должны быть перестроены. Не-встроенная функция требовала бы создания единственной единицы перевода.

1

inline - это лишь подсказка для компилятора, чтобы встроить функцию. Компиляторы также могут встроить другие функции, которые вы не отметили как встроенные при оптимизации. Проблема с созданием каждой функции inline заключается в том, что вся функция должна быть в заголовке, чтобы ее можно было вызывать из нескольких исходных файлов. Это увеличит время компиляции. Мой совет заключается в том, чтобы забыть ключевое слово inline, пока у вас не будет реальной проблемы с производительностью.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню