Форум программистов, компьютерный форум 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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
01.11.2013, 14:07     непонятня смысловая нагрузка (#define _In_) #2
Цитата Сообщение от GroundZero Посмотреть сообщение
Не понятно зачем объявляется _In_
Чтобы наглядно показать, что параметр является сугубо входным.
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
01.11.2013, 14:14     непонятня смысловая нагрузка (#define _In_) #3
Где то должна стоять проверка примерно такая

Цитата Сообщение от GroundZero Посмотреть сообщение
SWITCH_DECLARE
Это на макрос похоже.

Где то в нем может быть должно быть, что то вроде этого:

#ifdef(_In_)
//то добавляем какой то код
#else
//делаем другое что то

От если он не определен то #else сработает, если определен, то ifdef

Добавлено через 2 минуты
Цитата Сообщение от GroundZero Посмотреть сообщение
SWITCH_DECLARE(const switch_state_handler_table_t *) switch_core_get_state_handler(_In_ int index);
А да ладно, то я напутал, тут просто _In_ замениться на пустое место и все. КАк товарищ Croessmah, сказал просто что б удобней читать было.
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
01.11.2013, 14:17     непонятня смысловая нагрузка (#define _In_) #4
Цитата Сообщение от GroundZero Посмотреть сообщение
и какую смысловую нагрузку он несет во входном параметре
для компилятора никакую
для программиста что параметр входной
много есть таких пустых макросов
ну и конечно заголовочный файл нужно подключать где макрос определен
Убежденный
Системный программист
 Аватар для Убежденный
14171 / 6186 / 981
Регистрация: 02.05.2013
Сообщений: 10,295
Завершенные тесты: 1
01.11.2013, 14:17     непонятня смысловая нагрузка (#define _In_) #5
Цитата Сообщение от ninja2 Посмотреть сообщение
КАк товарищ Croessmah, сказал просто что б удобней читать было.
Не только.
См. например, это:

SAL Annotations
http://msdn.microsoft.com/en-us/libr...v=vs.100).aspx
GroundZero
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 9
01.11.2013, 14:19  [ТС]     непонятня смысловая нагрузка (#define _In_) #6
#ifndef __ATTR_SAL
/* used for msvc code analysis */
/* http://msdn2.microsoft.com/en-us/library/ms235402.aspx */
#define _In_
#define _In_z_

.....

открыл ссылку - но чето ничего не понял
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
01.11.2013, 14:20     непонятня смысловая нагрузка (#define _In_) #7
Вот Вам из книги Макконнелла:
непонятня смысловая нагрузка (#define _In_)
GroundZero
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 9
01.11.2013, 14:20  [ТС]     непонятня смысловая нагрузка (#define _In_) #8
увидел прошлый код после того как опубликовал свой

То есть это грубо говоря документирование для самого программиста?
Croessmah
01.11.2013, 14:21
  #9

Не по теме:

Цитата Сообщение от ninja2 Посмотреть сообщение
Где то в нем может быть должно быть, что то вроде этого:
жесть...

GroundZero
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 9
01.11.2013, 14:21  [ТС]     непонятня смысловая нагрузка (#define _In_) #10
а я кроме кернигана ритчи и Стауструпа других книг не знал - Спасибо
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
01.11.2013, 14:27     непонятня смысловая нагрузка (#define _In_) #11
Цитата Сообщение от Убежденный Посмотреть сообщение
Не только.
А ясно и для того что бы показать что параметр является сугубо входным. Ок.

Добавлено через 4 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
жесть...
Не ну я не знал что просто так можно макросы определять без смысловой нагрузки, думал там было что то такое, как например от мы определяем макрос #define DEBUG и дальше пишем код:
#ifdef DEBUG
//код дебага
#endif

Я читал что пустые макросы только для условий определяются, а оказалось и для документирования как метки

Я думал просто определяет включать код или нет, а все оказалось по простому.
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
01.11.2013, 14:27     непонятня смысловая нагрузка (#define _In_) #12
Croessmah,
тогда из твоей цитаты напрашивается такой вывод
C++
1
2
#define IN const 
#define OUT
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
01.11.2013, 14:32     непонятня смысловая нагрузка (#define _In_) #13
ValeryS, Чо такой? у тебя IN тогда замениться на const. Это уже не пустой макрос.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
01.11.2013, 14:33     непонятня смысловая нагрузка (#define _In_) #14
Цитата Сообщение от ValeryS Посмотреть сообщение
тогда из твоей цитаты напрашивается такой вывод
Да можно многое намудрить
C++
1
2
3
4
5
6
#define IN(type) const type &
#define OUT(type) type &
 
void foo( IN(int) x , OUT(int) y ) {
    y = x * x ;
}
Добавлено через 22 секунды
C++
1
2
3
4
5
int main ( ){
    int c ; 
    foo ( 10 , c ) ;
    std :: cout << c << std :: endl ;
}
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
01.11.2013, 14:42     непонятня смысловая нагрузка (#define _In_) #15
Цитата Сообщение от Croessmah Посмотреть сообщение
Да можно многое намудрить
Да да препроцессор сильная штука. С его помощью можно писать удобный код.

Добавлено через 7 минут
А от пользуясь случаем хочу спросить: " А что лучше использовать inline функции или макросы?" Вообще предпочтительней что использовать, по идее код получиться один и тот же или это уже на любителя, ну в принципе да можно то и другое (как удобно на выбор).
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5436 / 2560 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
01.11.2013, 14:54     непонятня смысловая нагрузка (#define _In_) #16
Цитата Сообщение от Croessmah Посмотреть сообщение
Да можно многое намудрить
Атас!
Цитата Сообщение от ninja2 Посмотреть сообщение
inline функции или макросы
Если писать на плюсах, то "лучше" inline, если на чистом, то "лучше" макросы. А вообще на вкус и цвет.
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
01.11.2013, 14:57     непонятня смысловая нагрузка (#define _In_) #17
Цитата Сообщение от ninja2 Посмотреть сообщение
А что лучше использовать inline функции или макросы?"
inline функции
макросы обрабатывает препроцессор, точнее не обрабатывает а подставляет значения
и потом в действие вступает компилятор
а inline обрабатывает компилятор
например
C++
1
2
#define mul(a,b) a*b
inline int mul(int a, int b){ return a*b;}
и вызовем так
C++
1
mul(c+d,e+f);
в случае с макросом мы получим
c+d*e+f,что не есть правда
а с inline такого косяка не будет
Цитата Сообщение от ninja2 Посмотреть сообщение
по идее код получиться один и тот же
как видишь нет
зайди в блог к Evg у него рассматривается использование макросов достоинства и недостатки

Добавлено через 1 минуту
Цитата Сообщение от SatanaXIII Посмотреть сообщение
если на чистом, то "лучше" макросы.
а что в Си inline разрешили?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
01.11.2013, 15:00     непонятня смысловая нагрузка (#define _In_) #18
Цитата Сообщение от ValeryS Посмотреть сообщение
и вызовем так
ну так макросы тоже нужно писать нормально )))
C++
1
#define mul(a,b) (a)*(b)
castaway
Эксперт С++
4837 / 2976 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
01.11.2013, 15:02     непонятня смысловая нагрузка (#define _In_) #19
C++
1
#define mul(a,b) ((a)*(b))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2013, 15:03     непонятня смысловая нагрузка (#define _In_)
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Croessmah
01.11.2013, 15:03     непонятня смысловая нагрузка (#define _In_)
  #20

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
а что в Си inline разрешили?
да вроде как давно уже

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

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