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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 282, средняя оценка - 4.93
Mecid
680 / 229 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
#1

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

15.11.2007, 21:32. Просмотров 33929. Ответов 5
Метки нет (Все метки)

для чего нужны inline функции?
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2007, 21:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос inline функции (C++):

inline assembler VS чтение по указателю - C++
Доброе время суток. Задача состоит в чтении 1 байта по адресу указателя. Проблема с пониманием, что не так с типами операндов. char...

Anonynuos ns Или жесткий inline - C++
Речь скорее пойдет о компилятарах МК ( прочих это волновать не должно )): class Foo { byte v; public: static Foo...

W8027 Functions containing some return statements are not expanded inline - C++ Builder
Доброй ночи. Я этот вопрос уже задавал - но всё же хочу попробовать устранить это предупреждение... Может есть у кого идеи,...

cspin.h inline member function in package class - C++ Builder
Как с эти бороться,куча warning сообщений появляется?Дело в классе самом?

Устронить уведомление: Functions containing switch are not expanded inline - C++ Builder
Вот такое уведмлениесам код#ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- ...

Inline функции и многофайловые проекты - Visual C++
Здравствуйте, уважаемые программисты ! Имеются 2 файла: foo.cpp: inline int foo() { return 0; } main.cpp:

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Lord_Voodoo
Супер-модератор
8589 / 2189 / 61
Регистрация: 07.03.2007
Сообщений: 10,890
Завершенные тесты: 1
16.11.2007, 09:32 #2
http://program.rin.ru/razdel/html/152.html
2
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
24.12.2010, 07:30 #3
ответа так и нет
0
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
24.12.2010, 08:04 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Чтобы избежать расходов на вызов функции, функцию можно описать как inline , а чтобы обеспечить более быстрый доступ к параметрам, их можно описать как register.

Inline-функция будет растиражирована в коде компилятором столько раз, сколько она вызывается - это делается для того, чтобы минимизировать время работы со стеком, регистрами. Эти функции приводят к разбуханию исполняемого кода. Это подходит для малых по размеру функций, но не подходит для больших, а также рекурсивных функций.
6
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
24.12.2010, 19:21 #5
Практика показывает, что в действительности на все воля компилятора, он лучше разбирается, что как делать. (это касается и inline и registr и пр. оптимизации)
1
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.12.2010, 21:54 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Kastaneda, ну на то везде и пишут (иногда жирным, подчёркнутым, курсивным капсом), что это всё - рекомендации компилятору, как хотелось бы. А вот уж внемлет он нашим рекомендациям или покажет своё упрямство - полностью от него зависит.
4
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2010, 21:54
Привет! Вот еще темы с ответами:

Inline функции - на сколько должна быть маленькая функция, чтоб она подошла под inline? - C++
Здравствуйте. Знаю теорию, но не понимаю, на сколько должна быть маленькая функция, чтоб она подошла под inline ? Как...

inline функции vs инструкции inline функций - C++
Здравствуйте. Чтобы не писать повторно код, нужно использовать функции. Но если функции компактные, то их лучше делать inline функциями, т....

GCC Inline Assembly перевести в Visual Studio Inline Assembler - Assembler
Здравствуйте. Есть код на GCC Inline Assembly и его нужно перевести в Visual Studio Inline Assembler. Не работал с GCC Inline Assembly...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.12.2010, 21:54
Ответ Создать тему
Опции темы

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