реклама на сайте
подробности

 
 
> Тернарный оператор в левой части выражения, ? : =
ViKo
сообщение Feb 10 2014, 13:40
Сообщение #1


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Читаю:
Код
  int32_t step_temp = Chan ? Step2 : Step1;

Обрабатываю...
Хочу записать обратно:
Код
(Chan ? Step2 : Step1) = step_temp;

Получаю:
error: #137: expression must be a modifiable lvalue
Как обойти?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_pv
сообщение Feb 10 2014, 15:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



*(Chan ? &Step1 : &Step2) = tmp;
только подозреваю в скомпилированном виде может выглядеть не очень красиво, по сравнению if (Chan) Step1 = tmp; else Step2 = tmp;
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 10 2014, 19:53
Сообщение #3


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(_pv @ Feb 10 2014, 18:01) *
*(Chan ? &Step1 : &Step2) = tmp;
только подозреваю в скомпилированном виде может выглядеть не очень красиво, по сравнению if (Chan) Step1 = tmp; else Step2 = tmp;

Да, так получается чуть больше байтов и тактов в ассемблерном листинге.
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Feb 17 2014, 16:30
Сообщение #4


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(ViKo @ Feb 10 2014, 14:53) *
Да, так получается чуть больше байтов и тактов в ассемблерном листинге.

Больше, по сравнению с чем? С кодом, которые не компилируется?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 17 2014, 17:11
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(ar__systems @ Feb 17 2014, 19:30) *
Больше, по сравнению с чем? С кодом, которые не компилируется?

смешно... rolleyes.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 21:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016