Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 9
1

непонятня смысловая нагрузка (#define _In_)

01.11.2013, 14:03. Показов 2970. Ответов 37
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
#define _In_

SWITCH_DECLARE(const switch_state_handler_table_t *) switch_core_get_state_handler(_In_ int index);

Не понятно зачем объявляется _In_
и какую смысловую нагрузку он несет во входном параметре (_In_ int index)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2013, 14:03
Ответы с готовыми решениями:

смысловая задача
Вычислить значение квадратов четных чисел натурального ряда от K до M.

Как реализовать директиву #define для создания шаблона отпределения #define ?
Здравствуйте уважаемые. При написании программы появилась необходимость задать шаблон создания...

Скрытие столбцов. Ошибка App-define od obj-define error
Привет) помогите, пожалуйста, ответить на следующие вопросы: 1) выскакивает ошибка: App-define...

Смысловая задача на геометрическую прогрессию
Вы должны своему другу 5 грн. Вместо того, чтобы попросить вас вернуть ему сразу весь долг, Ваш...

37
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
01.11.2013, 15:05 21
Author24 — интернет-сервис помощи студентам
Croessmah, castaway,
или вы думаете я этого не знаю?
специально показал "тонкое место"
второе нет анализа входных параметров в макросе запросто можно сложить например два адреса
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
01.11.2013, 15:06 22
ValeryS, я просто немного поправил Croessmah.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
01.11.2013, 15:06 23
Цитата Сообщение от Croessmah Посмотреть сообщение
да вроде как давно уже
не знал
но мои компиляторы для микропроцессоров посылают меня с inline
да и почему тогда на Си лучше писать макросами?
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
01.11.2013, 15:10 24
Цитата Сообщение от ValeryS Посмотреть сообщение
второе нет анализа входных параметров в макросе запросто можно сложить например два адреса
имхо, основной недостаток в том, что пишем один код, а на вход компилятору попадает уже измененный и это может стать источником трудноуловимых ошибок.

Не по теме:

Добавлено через 2 минуты

Цитата Сообщение от ValeryS Посмотреть сообщение
не знал
но мои компиляторы для микропроцессоров посылают меня с inline
http://ideone.com/UT0khT
Если не ошибаюсь, то в C99 уже был inline

0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
01.11.2013, 15:13 25
Цитата Сообщение от Croessmah Посмотреть сообщение
а на вход компилятору попадает уже измененный и это может стать источником трудноуловимых ошибок.
и это тоже
поставь случайно в макросе точку с запятой, я часто их на "автомате" ставлю.
компилятор даст ошибку в строке включения макроса а не в определении
C++
1
2
3
#define MAX 10;// здесь ошибку не покажет
...................
if(MAX>a)// вот здесь выдаст ошибку
и сиди и думай что в этой строке не то
0
castaway
01.11.2013, 15:15
  #26

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
и сиди и думай что в этой строке не то
Да уж.. тут есть над чем подумать))

2
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.11.2013, 15:40 27
Цитата Сообщение от ValeryS Посмотреть сообщение
и сиди и думай что в этой строке не то
Обычно одного раза достаточно на такое напороться, понять что к чему и в другой раз уже быстро исправить ошибку. Хотя лучше использовать const.
Собственно если вместо директив препроцессора можно использовать конструкции языка их и следует использовать.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
01.11.2013, 16:16 28
Цитата Сообщение от Tulosba Посмотреть сообщение
Собственно если вместо директив препроцессора можно использовать конструкции языка их и следует использовать.
Именно так
0
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
01.11.2013, 16:53 29
Я от щас книгу почитываю http://www.ozon.ru/context/detail/id/18817437/ , и там говориться, дословно не помню, но вроде как есть люди которые против макросов, макросы не нужно использовать и всякая фигня, а вы откройте любой файл заголовочный и посмотрите сколько там макросов, как говориться время поставит всех на свои места и те кто так говорил типо проехали, макросы широко используются и лучше раз выучить тему и потом уже не делать ошибки. Типо макрос как бы сильный инструмент в принципе если с умом им пользоваться так оно и есть, хотя бы использовать в качестве DEBUG уже сила. Я от например уже 1.5 к строк написал и ввел переменную int debug и каждый раз ее проверял если true то выполняю определенный код, а щас поисправлял все на #define DEBUG #ifdef DEBUG #endif. Просто если в программе этих if(debug) там штук 5 то ничего, а если их сотни, то это значительно замедлит программу.

Добавлено через 3 минуты
Автор короче пропагандирует макросы использовать, да я думаю не нужно цуратса их использовать.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
01.11.2013, 16:59 30
Цитата Сообщение от ninja2 Посмотреть сообщение
как макросы не нужно использовать и всякая фигня,
слишком категоричное утверждение
есть например когда без макроса никуда
условная компиляция например ,одну из них ты привел
а если код пишем мультиплатформенный и определенные действия нужны для линукс а другие для винды
как тут без макросов? каждый раз код переписывать
другое дело что макросы не нужны для констант и встраиваемых функциях
1
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
01.11.2013, 17:08 31
Цитата Сообщение от ValeryS Посмотреть сообщение
есть например когда без макроса никуда
условная компиляция например ,одну из них ты привел
а если код пишем мультиплатформенный и определенные действия нужны для линукс а другие для винды
как тут без макросов?
+1
Макросы иногда помогают расширить язык.
То есть, сделать такую вещь, которая чистым синтаксисом или нереализуема вообще,
или приводит к нагромождениям лишних сущностей. Пример такого макроса -
BOOST_SCOPE_EXIT и его аналоги. Удобная RAII-обертка для всего на свете,
легко читается, вероятность накосячить минимальна. Без этой возможности пришлось
бы на каждый охраняемый ресурс заводить свой отдельный класс, или выдумывать
какой-нибудь хитроумный шаблон с параметризацией по способу удаления объекта...
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
01.11.2013, 18:03 32
Цитата Сообщение от ninja2 Посмотреть сообщение
но вроде как есть люди которые против макросов
Эти люди, как правило, кроме конструкций типа "#define N 10" или "#define SQR(x) x*x" больше не знают ни одного применения макросов
1
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
01.11.2013, 18:38 33
Evg,
дай ссылку где ты про макросы расписывал, пускай народ посмотрит на силу и красоту макросов
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
01.11.2013, 18:55 34
Цитата Сообщение от ValeryS Посмотреть сообщение
дай ссылку где ты про макросы расписывал, пускай народ посмотрит на силу и красоту макросов
Это?
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
01.11.2013, 18:59 35
Цитата Сообщение от Croessmah Посмотреть сообщение
Это?
ага
но я хотел чтобы сам автор дал
0
Croessmah
01.11.2013, 19:04
  #36

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
но я хотел чтобы сам автор дал
Он не так часто появляется, да и какая разница?

0
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
01.11.2013, 19:16 37
Вот еще занятная статейка по теме:

C Preprocessor tricks, tips, and idioms
https://github.com/pfultz2/Clo... and-idioms
0
castaway
01.11.2013, 19:26     непонятня смысловая нагрузка (#define _In_)
  #38

Не по теме:

Цитата Сообщение от Убежденный Посмотреть сообщение
Вот еще занятная статейка
Название раздела у этой статейки забавное.. Cloak

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2013, 19:26

define
И еще такой вопрос для чего служит #define ??

define
Всем здрасьте , что означает эта строчка? #define MAX(a,b) a>b? a:b

#define c ::
Подскажите как реализовать такую замену: #define sa2::sys::getClientKernel()->getXDBTManager()...

#define
ребята, подскажите, вернее пролейте свет, на то , как это работает... #include <iostream>...


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

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru