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

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

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

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

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

Не понятно зачем объявляется _In_
и какую смысловую нагрузку он несет во входном параметре (_In_ int index)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.11.2013, 14:03
Ответы с готовыми решениями:

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

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

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

37
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
01.11.2013, 15:05
Студворк — интернет-сервис помощи студентам
Croessmah, castaway,
или вы думаете я этого не знаю?
специально показал "тонкое место"
второе нет анализа входных параметров в макросе запросто можно сложить например два адреса
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
01.11.2013, 15:06
ValeryS, я просто немного поправил Croessmah.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
01.11.2013, 15:06
Цитата Сообщение от Croessmah Посмотреть сообщение
да вроде как давно уже
не знал
но мои компиляторы для микропроцессоров посылают меня с inline
да и почему тогда на Си лучше писать макросами?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
01.11.2013, 15:10
Цитата Сообщение от ValeryS Посмотреть сообщение
второе нет анализа входных параметров в макросе запросто можно сложить например два адреса
имхо, основной недостаток в том, что пишем один код, а на вход компилятору попадает уже измененный и это может стать источником трудноуловимых ошибок.

Не по теме:

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

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

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

Не по теме:

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

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

Добавлено через 3 минуты
Автор короче пропагандирует макросы использовать, да я думаю не нужно цуратса их использовать.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
01.11.2013, 16:59
Цитата Сообщение от ninja2 Посмотреть сообщение
как макросы не нужно использовать и всякая фигня,
слишком категоричное утверждение
есть например когда без макроса никуда
условная компиляция например ,одну из них ты привел
а если код пишем мультиплатформенный и определенные действия нужны для линукс а другие для винды
как тут без макросов? каждый раз код переписывать
другое дело что макросы не нужны для констант и встраиваемых функциях
1
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
01.11.2013, 17:08
Цитата Сообщение от ValeryS Посмотреть сообщение
есть например когда без макроса никуда
условная компиляция например ,одну из них ты привел
а если код пишем мультиплатформенный и определенные действия нужны для линукс а другие для винды
как тут без макросов?
+1
Макросы иногда помогают расширить язык.
То есть, сделать такую вещь, которая чистым синтаксисом или нереализуема вообще,
или приводит к нагромождениям лишних сущностей. Пример такого макроса -
BOOST_SCOPE_EXIT и его аналоги. Удобная RAII-обертка для всего на свете,
легко читается, вероятность накосячить минимальна. Без этой возможности пришлось
бы на каждый охраняемый ресурс заводить свой отдельный класс, или выдумывать
какой-нибудь хитроумный шаблон с параметризацией по способу удаления объекта...
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
01.11.2013, 18:03
Цитата Сообщение от ninja2 Посмотреть сообщение
но вроде как есть люди которые против макросов
Эти люди, как правило, кроме конструкций типа "#define N 10" или "#define SQR(x) x*x" больше не знают ни одного применения макросов
1
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
01.11.2013, 18:38
Evg,
дай ссылку где ты про макросы расписывал, пускай народ посмотрит на силу и красоту макросов
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
01.11.2013, 18:55
Цитата Сообщение от ValeryS Посмотреть сообщение
дай ссылку где ты про макросы расписывал, пускай народ посмотрит на силу и красоту макросов
Это?
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
01.11.2013, 18:59
Цитата Сообщение от Croessmah Посмотреть сообщение
Это?
ага
но я хотел чтобы сам автор дал
0
01.11.2013, 19:04

Не по теме:

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

0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
01.11.2013, 19:16
Вот еще занятная статейка по теме:

C Preprocessor tricks, tips, and idioms
https://github.com/pfultz2/Clo... and-idioms
0
01.11.2013, 19:26

Не по теме:

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.11.2013, 19:26

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru