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

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

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

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

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

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

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

Итерационные циклы,Определение и вызов функций,Использование библиотечных функций stdio.h - C++
Помогите решить задания: 1.Дано натуральное число n. Найти разность между первой цифрой этого числа и суммой всех остальных. ...

Странное наследование виртуальных функций - C++
Что-то я туплю - почему нижеприведенный код компилируется? В предке определена pure virtual функция возвращающая rvalue, а в потомке -...

Странное поведение функций _findfirst() и _findnext() - C++
в материалах по С++ дан пример работы с файлами, переименование, удаление и просмотр содержимого директории. Просмотр осуществляется с...

определение функций - C++
Подскажите пожалуйста, как определить функцию используя массивы. В чем мои ошибки в этой программе? #include<iostream> char...

Определение и вызов функций - C++
Всем привет. Записать алгоритм, проверяющий является ли заданное число простым как рекурсивную функцию. Вывести на экран все простые...

Определение и вызов функций - C++
Здравствуйте. Такая проблема с задачей....Нужно Определить функцию, проверяющую, является ли данное число простым, и функцию, вычисляющую...

5
zss
Модератор
Эксперт С++
6478 / 6041 / 1982
Регистрация: 18.12.2011
Сообщений: 15,654
Завершенные тесты: 1
17.05.2013, 15:55 #2
по этому определению в код программы вместо
MPI_MAX
вставляется
(MPI_Op)(0x58000001)
т.е. вызывается функция
MPI_Op(0x58000001)
0
0x10
2474 / 1647 / 247
Регистрация: 24.11.2012
Сообщений: 4,068
17.05.2013, 16:00 #3
zss, ну только это не функция)
C++
1
2
/* Collective operations */
typedef int MPI_Op;
Так что это просто константа с явным приведением типа.
1
protein
Заблокирован
17.05.2013, 16:01 #4
Если я правильно понимаю то на место записи MPI_MAX компилятор будет вставлять вызов функции
0
zss
Модератор
Эксперт С++
6478 / 6041 / 1982
Регистрация: 18.12.2011
Сообщений: 15,654
Завершенные тесты: 1
17.05.2013, 16:03 #5
Цитата Сообщение от 0x10 Посмотреть сообщение
typedef int MPI_Op;
Ну, тогда это приведение к int числа 0x58000001.
Тоже в некотором смысле функция :-)
0
Croessmah
Эксперт CЭксперт С++
13512 / 7670 / 866
Регистрация: 27.09.2012
Сообщений: 18,870
Записей в блоге: 3
Завершенные тесты: 1
17.05.2013, 16:42 #6
Цитата Сообщение от bgm123 Посмотреть сообщение
MPI_MAX - функция.
макрос
Цитата Сообщение от protein Посмотреть сообщение
Если я правильно понимаю то на место записи MPI_MAX компилятор будет вставлять вызов функции
Вместо MPI_MAX препроцессор, будет подставлять текст (MPI_Op)(0x58000001)
0
17.05.2013, 16:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2013, 16:42
Привет! Вот еще темы с ответами:

Определение и вызов функций - C++
2. Определить функции, переводящую число в двоичную систему счисления и проверяющую, является ли двоичная запись числа симметричной...

Определение функций сортировок в классе - C++
Есть класс содержащий к примеру 2 функции сортировки(выбором и пузырьком) в которые передается интовый массив. Из методов реализации...

Определение чисто виртуальных функций в потомках - C++
Можно ли вместо определения чисто виртуальной функции в классе-потомке написать эту самую функцию без тела? Т.е. она как бы есть, но ее как...

Объявление, определение и вызов двух функций - C++
//Программа должна включать в себя: объявление, определение и демонстрацию работы через вывозов двух функций : //а) Аргументы:...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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