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

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

Войти
Регистрация
Восстановить пароль
 
duran_duran
1 / 1 / 0
Регистрация: 11.01.2014
Сообщений: 20
#1

inline и define - C++

18.01.2014, 22:43. Просмотров 401. Ответов 3
Метки нет (Все метки)

Почему использовать inline-функции лучше, чем использовать команду
препроцессора #define? Смысл в том, что лучше лишний раз не трогать препроцессор?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2014, 22:43     inline и define
Посмотрите здесь:

C++ define
inline C++
C++ Как влияет inline и обертка(#ifndef #define #endif) .h файла на компоновщик.
C++ #define
inline функции C++
Описатель inline C++
define не C++
#define VS inline C++
define C++
C++ #define
C++ c++11 и $define
C++ #define c ::

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gromo
 Аватар для gromo
367 / 266 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
18.01.2014, 23:01     inline и define #2
Цитата Сообщение от duran_duran Посмотреть сообщение
Почему использовать inline-функции лучше, чем использовать команду
препроцессора #define? Смысл в том, что лучше лишний раз не трогать препроцессор?
Смысл в том, что inline - это средство языка С++, а функции препроцессора - это пережитки Си.
+ препроцессор небезопасен в плане побочных эффектов, если ему в качестве параметров будут передаваться не атомарные выражения, например, variable++
И вообще, сами поразмыслите - препроцессор это текстовая макро-замена, в то время как функция - это полнофункциональный (сорри за тавтологию) элемент языка.
Убежденный
Системный программист
 Аватар для Убежденный
14640 / 6601 / 1045
Регистрация: 02.05.2013
Сообщений: 10,874
Завершенные тесты: 1
18.01.2014, 23:08     inline и define #3
Цитата Сообщение от duran_duran Посмотреть сообщение
Почему использовать inline-функции лучше, чем использовать команду
препроцессора #define?
А кто сказал, что лучше ?
Всяк метод хорош бывает в определенных обстоятельствах.
Вот BOOST_SCOPE_EXIT возьмите, к примеру. Сможете сделать
лучше на inline-функциях ?

http://www.boost.org/doc/libs/1_50_0...COPE_EXIT.html
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12532 / 7094 / 797
Регистрация: 27.09.2012
Сообщений: 17,503
Записей в блоге: 2
Завершенные тесты: 1
19.01.2014, 09:34     inline и define #4
Цитата Сообщение от duran_duran Посмотреть сообщение
Почему использовать inline-функции лучше, чем использовать команду
препроцессора #define?
можно и подобие шаблонов на препроцессоре настряпать, но нужно ли это делать, если шаблоны сами по себе имеются в языке.
Если есть возможность заменить макрос на встраиваемую функцию, то имхо, лучше заменить.
Да и ошибки искать в функции намного проще чем в макросе.
Yandex
Объявления
19.01.2014, 09:34     inline и define
Ответ Создать тему
Опции темы

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