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

не могу понять - C++

Восстановить пароль Регистрация
 
Ingener74
0 / 0 / 0
Регистрация: 18.03.2012
Сообщений: 18
09.08.2012, 06:26     не могу понять #1
есть такой код

C++
1
2
3
4
5
6
7
8
9
10
    
void addElement(const T& elem){
        *(_pointer) = elem;
//      int t1 = _pointer < &_deque_data[DEQUE_SIZE-1];
//      int t2 = (_pointer >= &_deque_data[DEQUE_SIZE-1] )*(-(DEQUE_SIZE-1));
//      _pointer += ( t1 + t2 );
 
        int t3 = (_pointer >= &_deque_data[DEQUE_SIZE-1] )*(-(DEQUE_SIZE-1)) + _pointer < &_deque_data[DEQUE_SIZE-1];
        _pointer += ( t3 );
    }
который работает неправильно, но если раскоментировать закоментированное и наоборот, то всё будет работать как надо, и вот в чём вопрос почему
C++
1
(_pointer >= &_deque_data[DEQUE_SIZE-1] )*(-(DEQUE_SIZE-1))
не работает в составе сложного предложения так сказать?
если что то не понятно могу написать подробнее!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
09.08.2012, 06:39     не могу понять #2
Проблема в этом:

C
1
+ _pointer < &_deque_data[DEQUE_SIZE-1]
Операция "+" имеет больше приоритет, чем операция "<"
Тебе нужно было написать так:
C
1
+ (_pointer < &_deque_data[DEQUE_SIZE-1])
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
09.08.2012, 06:46     не могу понять #3
Приоритет операторов.
Угадайте, какой из операторов в данном выражении выполняется первым и какие значения может принимать это выражение (вариантов не так уж много):
expression1 + expression2 < expression3;
Ingener74
0 / 0 / 0
Регистрация: 18.03.2012
Сообщений: 18
09.08.2012, 07:04  [ТС]     не могу понять #4
solar_wind спасибо большое, помогло))))
Yandex
Объявления
09.08.2012, 07:04     не могу понять
Ответ Создать тему
Опции темы

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