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

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

01.11.2013, 14:03. Показов 3772. Ответов 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,874
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,874
01.11.2013, 15:06
Цитата Сообщение от Croessmah Посмотреть сообщение
да вроде как давно уже
не знал
но мои компиляторы для микропроцессоров посылают меня с inline
да и почему тогда на Си лучше писать макросами?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
01.11.2013, 15:10
Цитата Сообщение от ValeryS Посмотреть сообщение
второе нет анализа входных параметров в макросе запросто можно сложить например два адреса
имхо, основной недостаток в том, что пишем один код, а на вход компилятору попадает уже измененный и это может стать источником трудноуловимых ошибок.

Не по теме:

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

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

0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
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,874
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,874
01.11.2013, 18:38
Evg,
дай ссылку где ты про макросы расписывал, пускай народ посмотрит на силу и красоту макросов
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
01.11.2013, 18:55
Цитата Сообщение от ValeryS Посмотреть сообщение
дай ссылку где ты про макросы расписывал, пускай народ посмотрит на силу и красоту макросов
Это?
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
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
Ответ Создать тему
Новые блоги и статьи
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru