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

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

Восстановить пароль Регистрация
 
bgm123
39 / 39 / 16
Регистрация: 29.01.2013
Сообщений: 277
17.05.2013, 15:27     странное определение функций #1
Читал заголовочный файл, так наткнулся на следующее выражение:

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
Модератор
Эксперт С++
 Аватар для zss
6048 / 5651 / 1826
Регистрация: 18.12.2011
Сообщений: 14,437
Завершенные тесты: 1
17.05.2013, 15:55     странное определение функций #2
по этому определению в код программы вместо
MPI_MAX
вставляется
(MPI_Op)(0x58000001)
т.е. вызывается функция
MPI_Op(0x58000001)
0x10
2437 / 1609 / 235
Регистрация: 24.11.2012
Сообщений: 3,949
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
Модератор
Эксперт С++
 Аватар для zss
6048 / 5651 / 1826
Регистрация: 18.12.2011
Сообщений: 14,437
Завершенные тесты: 1
17.05.2013, 16:03     странное определение функций #5
Цитата Сообщение от 0x10 Посмотреть сообщение
typedef int MPI_Op;
Ну, тогда это приведение к int числа 0x58000001.
Тоже в некотором смысле функция :-)
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12080 / 6941 / 782
Регистрация: 27.09.2012
Сообщений: 17,227
Записей в блоге: 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     странное определение функций
Ответ Создать тему
Опции темы

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