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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
GroundZero
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 9
01.11.2013, 14:03     непонятня смысловая нагрузка (#define _In_) #1
#define _In_

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

Не понятно зачем объявляется _In_
и какую смысловую нагрузку он несет во входном параметре (_In_ int index)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2013, 14:03     непонятня смысловая нагрузка (#define _In_)
Посмотрите здесь:

C++ define
define не C++
смысловая задача C++
define C++
C++ #define
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,047
01.11.2013, 15:05     непонятня смысловая нагрузка (#define _In_) #21
Croessmah, castaway,
или вы думаете я этого не знаю?
специально показал "тонкое место"
второе нет анализа входных параметров в макросе запросто можно сложить например два адреса
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4844 / 2983 / 367
Регистрация: 10.11.2010
Сообщений: 11,021
Записей в блоге: 10
Завершенные тесты: 1
01.11.2013, 15:06     непонятня смысловая нагрузка (#define _In_) #22
ValeryS, я просто немного поправил Croessmah.
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,047
01.11.2013, 15:06     непонятня смысловая нагрузка (#define _In_) #23
Цитата Сообщение от Croessmah Посмотреть сообщение
да вроде как давно уже
не знал
но мои компиляторы для микропроцессоров посылают меня с inline
да и почему тогда на Си лучше писать макросами?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,898
Записей в блоге: 2
Завершенные тесты: 1
01.11.2013, 15:10     непонятня смысловая нагрузка (#define _In_) #24
Цитата Сообщение от ValeryS Посмотреть сообщение
второе нет анализа входных параметров в макросе запросто можно сложить например два адреса
имхо, основной недостаток в том, что пишем один код, а на вход компилятору попадает уже измененный и это может стать источником трудноуловимых ошибок.

Не по теме:

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

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

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

Не по теме:

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

Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.11.2013, 15:40     непонятня смысловая нагрузка (#define _In_) #27
Цитата Сообщение от ValeryS Посмотреть сообщение
и сиди и думай что в этой строке не то
Обычно одного раза достаточно на такое напороться, понять что к чему и в другой раз уже быстро исправить ошибку. Хотя лучше использовать const.
Собственно если вместо директив препроцессора можно использовать конструкции языка их и следует использовать.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16827 / 5248 / 321
Регистрация: 30.03.2009
Сообщений: 14,130
Записей в блоге: 26
01.11.2013, 16:16     непонятня смысловая нагрузка (#define _In_) #28
Цитата Сообщение от Tulosba Посмотреть сообщение
Собственно если вместо директив препроцессора можно использовать конструкции языка их и следует использовать.
Именно так
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
01.11.2013, 16:53     непонятня смысловая нагрузка (#define _In_) #29
Я от щас книгу почитываю http://www.ozon.ru/context/detail/id/18817437/ , и там говориться, дословно не помню, но вроде как есть люди которые против макросов, макросы не нужно использовать и всякая фигня, а вы откройте любой файл заголовочный и посмотрите сколько там макросов, как говориться время поставит всех на свои места и те кто так говорил типо проехали, макросы широко используются и лучше раз выучить тему и потом уже не делать ошибки. Типо макрос как бы сильный инструмент в принципе если с умом им пользоваться так оно и есть, хотя бы использовать в качестве DEBUG уже сила. Я от например уже 1.5 к строк написал и ввел переменную int debug и каждый раз ее проверял если true то выполняю определенный код, а щас поисправлял все на #define DEBUG #ifdef DEBUG #endif. Просто если в программе этих if(debug) там штук 5 то ничего, а если их сотни, то это значительно замедлит программу.

Добавлено через 3 минуты
Автор короче пропагандирует макросы использовать, да я думаю не нужно цуратса их использовать.
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,047
01.11.2013, 16:59     непонятня смысловая нагрузка (#define _In_) #30
Цитата Сообщение от ninja2 Посмотреть сообщение
как макросы не нужно использовать и всякая фигня,
слишком категоричное утверждение
есть например когда без макроса никуда
условная компиляция например ,одну из них ты привел
а если код пишем мультиплатформенный и определенные действия нужны для линукс а другие для винды
как тут без макросов? каждый раз код переписывать
другое дело что макросы не нужны для констант и встраиваемых функциях
Убежденный
Системный программист
 Аватар для Убежденный
14197 / 6212 / 985
Регистрация: 02.05.2013
Сообщений: 10,349
Завершенные тесты: 1
01.11.2013, 17:08     непонятня смысловая нагрузка (#define _In_) #31
Цитата Сообщение от ValeryS Посмотреть сообщение
есть например когда без макроса никуда
условная компиляция например ,одну из них ты привел
а если код пишем мультиплатформенный и определенные действия нужны для линукс а другие для винды
как тут без макросов?
+1
Макросы иногда помогают расширить язык.
То есть, сделать такую вещь, которая чистым синтаксисом или нереализуема вообще,
или приводит к нагромождениям лишних сущностей. Пример такого макроса -
BOOST_SCOPE_EXIT и его аналоги. Удобная RAII-обертка для всего на свете,
легко читается, вероятность накосячить минимальна. Без этой возможности пришлось
бы на каждый охраняемый ресурс заводить свой отдельный класс, или выдумывать
какой-нибудь хитроумный шаблон с параметризацией по способу удаления объекта...
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16827 / 5248 / 321
Регистрация: 30.03.2009
Сообщений: 14,130
Записей в блоге: 26
01.11.2013, 18:03     непонятня смысловая нагрузка (#define _In_) #32
Цитата Сообщение от ninja2 Посмотреть сообщение
но вроде как есть люди которые против макросов
Эти люди, как правило, кроме конструкций типа "#define N 10" или "#define SQR(x) x*x" больше не знают ни одного применения макросов
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,047
01.11.2013, 18:38     непонятня смысловая нагрузка (#define _In_) #33
Evg,
дай ссылку где ты про макросы расписывал, пускай народ посмотрит на силу и красоту макросов
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,898
Записей в блоге: 2
Завершенные тесты: 1
01.11.2013, 18:55     непонятня смысловая нагрузка (#define _In_) #34
Цитата Сообщение от ValeryS Посмотреть сообщение
дай ссылку где ты про макросы расписывал, пускай народ посмотрит на силу и красоту макросов
Это?
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,047
01.11.2013, 18:59     непонятня смысловая нагрузка (#define _In_) #35
Цитата Сообщение от Croessmah Посмотреть сообщение
Это?
ага
но я хотел чтобы сам автор дал
Croessmah
01.11.2013, 19:04
  #36

Не по теме:

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

Убежденный
Системный программист
 Аватар для Убежденный
14197 / 6212 / 985
Регистрация: 02.05.2013
Сообщений: 10,349
Завершенные тесты: 1
01.11.2013, 19:16     непонятня смысловая нагрузка (#define _In_) #37
Вот еще занятная статейка по теме:

C Preprocessor tricks, tips, and idioms
https://github.com/pfultz2/Cloak/wik...ps,-and-idioms
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2013, 19:26     непонятня смысловая нагрузка (#define _In_)
Еще ссылки по теме:

C++ c++11 и $define
C++ #define c ::
Что за модификатор _In_ C++

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

Или воспользуйтесь поиском по форуму:
castaway
01.11.2013, 19:26     непонятня смысловая нагрузка (#define _In_)
  #38

Не по теме:

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

Yandex
Объявления
01.11.2013, 19:26     непонятня смысловая нагрузка (#define _In_)
Ответ Создать тему
Опции темы

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