|
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
|
|
Зачем нужен inline06.10.2009, 23:36. Показов 47879. Ответов 31
Скажите пожалуйста, зачем нужна команда inline? Изучаю классы, и там говорится мимолётом, что эта функция повысит эффективность, но так и не понял зачем она нужна. Желательно пример с комментарием. Зараннее благодраю за скорый ответ.
0
|
|
| 06.10.2009, 23:36 | |
|
Ответы с готовыми решениями:
31
Inline функции - на сколько должна быть маленькая функция, чтоб она подошла под inline? inline функции vs инструкции inline функций
|
|
|
||
| 12.02.2011, 17:01 | ||
|
Например, если на момент объявления функции некоторые типы данных используемые в ней ещё не определены, то как раз модификатор inline позволяет такой функции отложить её определение до момента первого встраивания. Ещё точно такой же эффект можно получить сделав функцию шаблонной. Такие финты ушами особо ценятся при использовании кодогенерации.
0
|
||
|
12 / 12 / 7
Регистрация: 05.06.2012
Сообщений: 280
|
|||||||||||
| 19.09.2012, 13:17 | |||||||||||
|
немогу понять
не компилиться
0
|
|||||||||||
|
12 / 12 / 7
Регистрация: 05.06.2012
Сообщений: 280
|
|
| 19.09.2012, 15:20 | |
|
во первых я думал что я перегружаю функцию, так как такие параметры (ostream& out,MyString &s)только у меня
Во вторых. правило не нарушаеться ? функция всё ровно же опять определяеться? ну и наконец. Вопрос у меня напрасился почти сразу как только начал читать топик, зачем нужно неосколько раз определять функцию???????
0
|
|
|
12 / 12 / 7
Регистрация: 05.06.2012
Сообщений: 280
|
|
| 19.09.2012, 16:07 | |
|
понимаю что ни чётко, извините
чуть попоже создам когда пойму точно в чём я хочу разобраться)) Добавлено через 8 минут ответ на вопрос "Зачем нужен inline?", повысить производительность - я считаю неправильным.Так как без модификатора у меня не скопилировалось. Ответ - для того что, бы определять функции несколько раз.Поднимает встречный вопрос: зачем определять функции несколько раз?
0
|
|
|
|
||
| 19.09.2012, 16:22 | ||
|
1
|
||
|
70 / 70 / 35
Регистрация: 06.07.2016
Сообщений: 415
|
|||||||
| 25.01.2017, 23:47 | |||||||
|
Причем, в данной интерпретации ответом будет 0, а если написать
Добавлено через 26 минут И как я понимаю,минусы использования inline это : 1.Увеличение объема кода в конечном файле,полученном после процессирования. То есть, объема будущего exe-шника. 2.Она может просто не вызваться, так как это лишь запрос,а не команда компилятору. И основные причины, того что компилятор не посчитает за нужное ее вставлять в код,а будет работать с ней как с обычной функцией это : 2.1. Наличие рекурсии в коде. 2.2.Наличие в коде циклов. (В MSDN такого не увидел, но Шилдт пишет, что кое-где и это может послужить причиной). 2.3.Наличие переменных, объявленных ,как статические. 2.4(Не очень понятное мне, взято из MSDN) В качестве таких используются функции, на которые создаются ссылки посредством указателя в любом месте блока трансляции. В тоже время второго недостатка define же лишен начисто,это ведь именно директива , "дающая" конкретную команду препроцессору. И в С++ не будет ошибкой , если все-таки использовать ставший привычным define? Добавлено через 28 минут И должна ли встраиваемая функция быть определена до ее вызова или же можно как и с обычной функцией просто записать ее прототип,а определить ее в другом месте? Просто так написано у Шилтда,но я в этом не уверен,так как в других местах информацию об этом не нашел.
0
|
|||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||
| 26.01.2017, 00:42 | |||
|
1
|
|||
|
Вездепух
13235 / 6867 / 1827
Регистрация: 18.10.2014
Сообщений: 17,400
|
|||||||
| 26.01.2017, 00:52 | |||||||
|
Возможность определять функции в заголовочных файлах дает то, что функция больше не распадается на объявление (прототип) и определение, т.е. задача поддержания прототипа и определения в синхронизированном состоянии решается естественным образом. Это также необходимо для поддержания такого свойства языка, как дедукция типа возвращаемого значения функции
0
|
|||||||
|
70 / 70 / 35
Регистрация: 06.07.2016
Сообщений: 415
|
|
| 26.01.2017, 01:00 | |
|
0
|
|
| 26.01.2017, 01:00 | |
|
зачем нужен параметр Зачем нужен полиморфизм Зачем нужен malloc?
Зачем нужен extern? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|