|
|
|
Так можно писать?
|
|||
|---|---|---|---|
|
#18+
Можно ли так писать и полагаться, что проверка всегда и везде будет происходить слева направо? Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 18:10 |
|
||
|
Так можно писать?
|
|||
|---|---|---|---|
|
#18+
вопрос, что тебе надо :-) сначала будет выполнена проверка if(list != 0) и если он (list) нулю всё-же равен, то strcmp выполняться не будет, ибо не за чем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 18:13 |
|
||
|
Так можно писать?
|
|||
|---|---|---|---|
|
#18+
Tubrik пишет: > Можно ли так писать и полагаться, что проверка всегда и везде будет > происходить слева направо? > > if (list && !strcmp(list->name, name)) Да. Даже не можно, а нужно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 18:13 |
|
||
|
Так можно писать?
|
|||
|---|---|---|---|
|
#18+
Ясно, спасибо. Я прекрасно понимаю, что я написал, у меня были сомнения по поводу тог, что проверка в любой среде происходит именно в таком порядке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 18:19 |
|
||
|
Так можно писать?
|
|||
|---|---|---|---|
|
#18+
MasterZiv wrote: > Да. Даже не можно, а нужно. Вопрос. Есть гарантия, что любой компилятор именно так эту строчку поймет? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 18:21 |
|
||
|
Так можно писать?
|
|||
|---|---|---|---|
|
#18+
TubrikЯсно, спасибо. Я прекрасно понимаю, что я написал, у меня были сомнения по поводу тог, что проверка в любой среде происходит именно в таком порядке. P.S. и что не будет проверяться второе значение, если первая проверка не дала положительного результата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 18:21 |
|
||
|
Так можно писать?
|
|||
|---|---|---|---|
|
#18+
Tubrik: и что не будет проверяться второе значение, если первая проверка не дала положительного результата. да, но только при условии что operator&& не переопределен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 18:34 |
|
||
|
Так можно писать?
|
|||
|---|---|---|---|
|
#18+
Tubrik пишет: > Я прекрасно понимаю, что я написал, у меня были сомнения по поводу тог, > что проверка в любой среде происходит именно в таком порядке. Это диктуется стандартами языков C и C++. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 10:48 |
|
||
|
Так можно писать?
|
|||
|---|---|---|---|
|
#18+
ErV пишет: > > Да. Даже не можно, а нужно. > Вопрос. Есть гарантия, что любой компилятор именно так эту строчку поймет? Да, 100%, потому что стандарт. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 10:49 |
|
||
|
Так можно писать?
|
|||
|---|---|---|---|
|
#18+
TubrikМожно ли так писать и полагаться, что проверка всегда и везде будет происходить слева направо? Код: plaintext 1. 2. 3. Если не переопределен оператор &&. Иначе, сначала будет вычесленно два аргумента, а потом выполнен оператор &&. Непереопределенный оператор &&, по стандарту, гарантирует, что в случае false, второй оператор вычисляться не будет. Именно поэтому всегда предостерегают использование переопредления операторов "&&", "||", ",". Т.е. Если переопределяют эти операторы, то это специально должно быть где-то оговорено, т.к. применяется широка практика действия по стандарту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 11:31 |
|
||
|
Так можно писать?
|
|||
|---|---|---|---|
|
#18+
Akh пишет: > Именно поэтому всегда предостерегают использование переопредления > операторов "&&", "||", ",". > > Т.е. Если переопределяют эти операторы, то это специально должно быть > где-то оговорено, т.к. применяется широка практика действия по стандарту. На самом деле если семантика коньюнкции и дизьюнкции не меняется, то легче определить оператор приведения к типу bool ( operator bool()). Так не надо морочиться с коммутативностью и вообще с реализацией. А если она меняется, то тут уж эти два значка && будут значить совсем другое и тут уже программист будет думать по-другому. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 12:24 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34640573&tid=2028563]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
185ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 507ms |

| 0 / 0 |
