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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 5.00
downloadpascal
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 32
#1

встроенные функции (inline) - C++

12.06.2010, 14:09. Просмотров 3910. Ответов 4
Метки нет (Все метки)

скажите что значит встроенные функции?
не пойму.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class a
{
 int x,y;
   public:
       void get_x(int i,int j)       //как я понимаю это встроенная функция, а тогда что такое inline функция?
      {
         x = i;
         y = j;
      } 
      
      void inline get_x(int i,int j)  // это тоже , чтоли встроенная функция inline?
     {
        x= i;
        y = j;
     }
}
скажите пожалуйста, что такое встроенная функция inline? и зачем она нужна?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2010, 14:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос встроенные функции (inline) (C++):

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

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

Встроенные функции - C++
Inline для встроенных функция надо писать и в прототипе и в определнии? Или в одном каком-то месте?

Встроенные функции - C++
Привет! Только недавно изучаю C++!Может кто-нибудь объяснить,пожалуйста,ценность встроенных функций и как вообще происходит компиляция...

Неявно встроенные функции - C++
Что не могут делать неявно встроенные функции?

Встроенные функции в компилятор - C++
Здравствуйте уважаемые форумчане! В процессе изучения С++ столкнулся с такой проблемой!Занимаюсь на платформе C++ 6.0 и хотел бы знать есть...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
12.06.2010, 14:28 #2
деректива inline говорит процессору что этот код нужно включать вместо названия самой функции
т.е.
вот это
C++
1
2
3
4
5
6
void inline get_x(int i,int j) // это тоже , чтоли встроенная функция inline?
{
x= i;
y = j;
}
};
если ты в майне напишешь
C++
1
get_x(int i,int j)
оно заменится на
C++
1
2
3
4
{
x= i;
y = j;
}
и везде будет заменяться, это нужно для ускорения работы программы, т.к. получается линейный код, а если функция не встроенная, то создается ссылка по которой должен идти процессор, т.е. затрачивается больше времени.... следующая команда идет не по порядку, а находится в определенном адресе...
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
12.06.2010, 15:39 #3
Mur3ik, + компилятор не всегда сделает функцию встроенной если там написано inline, зависит от тела функции ( есть ли там рекурсия циклы и т д) в общем встроенными лучше делать функии с маленьким телом.
0
Evg
Эксперт CАвтор FAQ
17826 / 6036 / 388
Регистрация: 30.03.2009
Сообщений: 16,566
Записей в блоге: 26
12.06.2010, 15:47 #4
Цитата Сообщение от Mur3ik Посмотреть сообщение
деректива inline говорит процессору что этот код нужно включать
Не нужно, а желательно. Т.е. на компилятор не накладываются никакие обязательства

По поводу inline можно немного почитать тут: Зачем нужен inline
0
Nick Alte
Эксперт С++
1638 / 1010 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
12.06.2010, 17:30 #5
Функции, объявленные внутри класса, тоже считаются инлайновыми. Даже если и не описывать их как inline. Что, разумеется, не помешает компилятору, если ему того захочется, сделать такую функцию неинлайновой. Более того, бывают случаи, когда одну и ту же функцию в одной и той же программе в одной точке вызова могут встроить, а в другой - нет.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2010, 17:30
Привет! Вот еще темы с ответами:

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

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

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

inline функции - C++
Добрый вечер. Хотелось бы узнать, есть ли минусы у inline функций кроме увеличения размера файла? Везде пишут что использование "жирных"...


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

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

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