Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
h3mbr0
210 / 53 / 12
Регистрация: 12.03.2012
Сообщений: 279
#1

inline функции - C++

05.09.2012, 21:57. Просмотров 600. Ответов 4
Метки нет (Все метки)

Добрый вечер. Хотелось бы узнать, есть ли минусы у inline функций кроме увеличения размера файла? Везде пишут что использование "жирных" inline фунций, наоборот, отрицательно скажется на производительности, но почему - там не объяснено
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2012, 21:57     inline функции
Посмотрите здесь:

inline функции - C++
Как рабоает функция inline, и какие у неё преимущества? Если она такая крутая как я понял, то зачем простые функции??

inline функции - C++
Объясните, пожалуйста, почему со всеми inline программа не работает, а если их закомментировать - работает. // main.cpp #include...

Inline функции - C++
Здарова всем! А может кто-нибудь объяснить товарищу внятно, для чего нужны inline-функции? Вроде говорят, что их объявлять нужно до...

Inline функции - C++
Друзья!Инлайн функции могу быть определены только внтури класса?Или могут быть определены вне класса?Если вне,то как?Спасибо!

Inline функции. - C++
Здравствуйте. Скажите пожалуйста, объявление функции как inline нужно делать как в прототипе так и в определении или достаточно только в...

inline - функции - C++
Стоит-ли добавлять префикс inline ко всем функциям, состоящим из 1-2 строк?

встроенные функции (inline) - C++
скажите что значит встроенные функции? не пойму. class a { int x,y; public: void get_x(int i,int j) //как я...

Inline функции в классах - C++
можно функцию сделать подставляемой, не определяя при объявлении,а определить под классом?

Нюансы синтаксиса: функции и квалификатор inline - C++
Значит в принципе если функция не объявлена inline то она должна иметь прототип, иначе нужно объявлять inline... может вопрос...

Какие требование должны быть к inline-функции, кроме её размера? - C++
Какие требование должны быть к inline-функции, кроме её размера? Я слышал что inline - это всего лишь "подсказка" компилятору... Является...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
5943 / 3380 / 336
Регистрация: 28.10.2010
Сообщений: 5,926
05.09.2012, 22:02     inline функции #2
Код inline функций подставляется на место вызова во время компиляции. Если функция большая и часто вызывается, то размер файла естественно увелится.
Avazart
7102 / 5279 / 267
Регистрация: 10.12.2010
Сообщений: 23,290
Записей в блоге: 17
05.09.2012, 22:03     inline функции #3
Компилятор может просто произнорировать это слово...
А в других случах сам делать встраивание...

Так что это слово всего лишь пожелание для компилятора
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
05.09.2012, 22:04     inline функции #4
Много использования (жирных) инлайн функций — раздувается размер кода и этот код может не влезает в кеши. Вместо того, чтобы часто используемая функция лежала себе в уголке кеша и никого не трогала, её копии плавают по закешированной части программы, уменьшая полезный объём кеша и увеличивая количество промахов.
h3mbr0
210 / 53 / 12
Регистрация: 12.03.2012
Сообщений: 279
05.09.2012, 22:14  [ТС]     inline функции #5
Цитата Сообщение от Петррр Посмотреть сообщение
Код inline функций подставляется на место вызова во время компиляции. Если функция большая и часто вызывается, то размер файла естественно увелится.
Это понятно, вопрос был какие еще минусы у использования таких функций

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

Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Много использования (жирных) инлайн функций — раздувается размер кода и этот код может не влезает в кеши. Вместо того, чтобы часто используемая функция лежала себе в уголке кеша и никого не трогала, её копии плавают по закешированной части программы, уменьшая полезный объём кеша и увеличивая количество промахов.
Спасибо, это уже понятнее) вопрос исчерпан
Yandex
Объявления
05.09.2012, 22:14     inline функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru