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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Строки http://www.cyberforum.ru/cpp-beginners/thread136784.html
День добрый! Хотел спросить, как мне очистить массив строк???? Просьба...очистка должна быть такого же уровня, как и эта программа(простая).Спасибо! #include "stdafx.h" #include <iostream> #include <iomanip> using namespace std ; int _tmain(int argc, _TCHAR* argv) { const int t=3;
C++ Pacman Здравствуйте,пишу курсовик,взял игру pacman. Реализовал ее почти,пекмен ходит и кушает по карте.Теперь встал вопрос,как сделать призраков,которые как-то будут ходить сами.Подскажите алгоритм,а если можно,то частично код,чтобы уж было совсем понятно. А еще,пишу в windows консольном приложении(компилятор builder 6.0) То что получилось могу кинуть,если надо Добавлено через 10 часов 46... http://www.cyberforum.ru/cpp-beginners/thread136778.html
C++ Создание dll c процедурами для зануления елементов матрици,какую можна будут использивать в Delphi
Есть така задачка "на с++ создать библиотеку dll которая будет содержать две функции зануления парних и непарних елементов масиву длини n.Cделать консольний проект в Delphi (компилятор Delphi, модель stdcall) в коде котрого статически обратится к библиотеке,котрую создали в с++. Навести приклад функционирования библиотеки". Помогите создать dll чтоб ее можно било использивать в Delphi. буду...
Библиотека STL, класс ЛИСТ C++
Прив Всем! Нужна помощь... вот задание: ========================================================================== Используй класс list библиотеки STL для хранения информации о студентах. Студент характеризуется следующей информацией: номер зачетной книжки, ФИО, год рождения, институт, факультет, № группы.Забезпечити операції введення-виведення інформації про студентів, додавання та...
C++ Вылезает ошибка! http://www.cyberforum.ru/cpp-beginners/thread136740.html
// Test.cpp: главный файл проекта. #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; void func(char*);
C++ Двухмерный масив Всем привет!) Вот задали задачку.. никак не могу ее решить...(( Кто может помогите...)) буду благодарен..)) Условие: Из двухмерного массива Асоздать массив K элементами которого являются отсортированные элементы по убыванию побочной диагонали. подробнее

Показать сообщение отдельно
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
20.09.2010, 12:37     inline функции
griseus, директива inline просит компилятор сгенерировать код этой ф-ции в месте её вызова (вместо самого вызова). Очевидно, что бы компилятор мог это сделать, код inline ф-ции должен быть в той же единице трасляции, что и место вызова. Иными словами, если некий код в файле cpp делает вызов ф-ции swap, что эта ф-ция должна быть определена (не оглашена, а полностью определена) в том же cpp файле либо в файле, к-рый подключается через #include директиву.

Есть ограничения, в силу к-рый компилятор не сможет сделать ф-цию встроенной (inline) - наличие статических переменных в ф-ции, вроде бы даже переменные в стеке. Так же рекурсивные ф-ции.

Основное преимущество inline ф-ции - при небольшом обьёме она выполниться быстрее, чем вызов.
Причин несколько, среди них - так называемый cache miss, то есть во время вызова ф-ции может оказаться, что она в другой странице памяти, к-рая не находиться в кеше. Когда же код встроенной ф-ции находится рядом, его не надо искать и всё такое.

Лучшимы кандидатами на inline ф-ции являются getter'ы и setter'ы.

И да, методы класса, определённые внутри определения класса, по-умолчанию считаются inline.

UPD: Все размышления являются моим собственным мнением и кое-где могу быть не совсем прав.
 
Текущее время: 01:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru