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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bgm123
39 / 39 / 16
Регистрация: 29.01.2013
Сообщений: 277
#1

странное определение функций - C++

17.05.2013, 15:27. Просмотров 242. Ответов 5
Метки нет (Все метки)

Читал заголовочный файл, так наткнулся на следующее выражение:

C++
1
 #define MPI_MAX     (MPI_Op)(0x58000001)
Что означает такое определение функции, прокоментируйте? MPI_MAX - функция.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2013, 15:27     странное определение функций
Посмотрите здесь:

Определение и вызов функций C++
C++ определение функций
Определение и вызов функций C++
C++ Шаблоны функций (определение наименьшего из двух аргументов)
Шаблоны функций (определение наименьшего из двух аргументов) C++
C++ Странное поведение функций _findfirst() и _findnext()
C++ Оформить в виде отдельных функций введения, просмотр и определение количества чисел масива
Определение функций сортировок в классе C++
Определение чисто виртуальных функций в потомках C++
Определение и вызов функций C++
C++ Определение и использование шаблонов функций для обработки массивов
Странное наследование виртуальных функций C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6189 / 5792 / 1875
Регистрация: 18.12.2011
Сообщений: 14,797
Завершенные тесты: 1
17.05.2013, 15:55     странное определение функций #2
по этому определению в код программы вместо
MPI_MAX
вставляется
(MPI_Op)(0x58000001)
т.е. вызывается функция
MPI_Op(0x58000001)
0x10
2452 / 1624 / 238
Регистрация: 24.11.2012
Сообщений: 3,999
17.05.2013, 16:00     странное определение функций #3
zss, ну только это не функция)
C++
1
2
/* Collective operations */
typedef int MPI_Op;
Так что это просто константа с явным приведением типа.
protein
Заблокирован
17.05.2013, 16:01     странное определение функций #4
Если я правильно понимаю то на место записи MPI_MAX компилятор будет вставлять вызов функции
zss
Модератор
Эксперт С++
6189 / 5792 / 1875
Регистрация: 18.12.2011
Сообщений: 14,797
Завершенные тесты: 1
17.05.2013, 16:03     странное определение функций #5
Цитата Сообщение от 0x10 Посмотреть сообщение
typedef int MPI_Op;
Ну, тогда это приведение к int числа 0x58000001.
Тоже в некотором смысле функция :-)
Croessmah
Модератор
Эксперт CЭксперт С++
12675 / 7183 / 801
Регистрация: 27.09.2012
Сообщений: 17,710
Записей в блоге: 2
Завершенные тесты: 1
17.05.2013, 16:42     странное определение функций #6
Цитата Сообщение от bgm123 Посмотреть сообщение
MPI_MAX - функция.
макрос
Цитата Сообщение от protein Посмотреть сообщение
Если я правильно понимаю то на место записи MPI_MAX компилятор будет вставлять вызов функции
Вместо MPI_MAX препроцессор, будет подставлять текст (MPI_Op)(0x58000001)
Yandex
Объявления
17.05.2013, 16:42     странное определение функций
Ответ Создать тему
Опции темы

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