pargentum: (Default)
[personal profile] pargentum
http://www.livejournal.com/community/ru_programming/276904.html (по достоинству оценят только настоящие сионисты).

А меня теперь мучает вопрос - а почему оно в плюсах-то работало? Они ведь precedence, по моему, не меняли?

Date: 2005-08-30 02:51 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
In C++ (as opposed to C), the ternary operator seems to have its precedence switched with the assignments' (http://www.lrdev.com/lr/frequently-asked-questions.html)

Date: 2005-08-30 02:59 pm (UTC)
From: [identity profile] pargentum.livejournal.com
И чё? Теперь
a=(b>c)? 0:1
компилируется как
(a=(b>c))? 0:1
????? Не пугайте меня так.

Там должно быть что-то более хитрое.

Date: 2005-08-30 03:13 pm (UTC)
From: [identity profile] buldozr.livejournal.com
Да, в MSDN пишут, что у всех присваиваний приоритет ниже, чем у тернарного условия

Мое предположение, просто свертка парсера, если видит ?, ожидает :, а операции между ними трактуются без затей как более высокий приоритет.
Почему компилятор C более анальный в этом вопросе, непонятно.

Date: 2005-08-31 02:47 am (UTC)
From: [identity profile] pargentum.livejournal.com
Наверное, потому, что в спецификациях так написано.

Profile

pargentum: (Default)
pargentum

December 2025

S M T W T F S
  1 2 3 4 56
78 9 1011 1213
14 1516 17 18 19 20
21 22 23 24 25 26 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 01:11 am
Powered by Dreamwidth Studios