|
Странное поведение переменной
|
|||
---|---|---|---|
#18+
Пробую побаловаться с c++ и происходит странное: Сразу после инициализации переменной i имеет значение 6, хотя инициализировалась она нулем, а после , в цикле, присваивается значение 1. Внимание - вопрос: откуда взялось 6? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 17:17 |
|
Странное поведение переменной
|
|||
---|---|---|---|
#18+
Maksim8542откуда взялось 6? Из мусора. Поскольку твой нуль никому не был нужен, компилятор вообще выкинул инициализацию переменной и сразу перешёл к присваиванию. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 18:03 |
|
Странное поведение переменной
|
|||
---|---|---|---|
#18+
Maksim8542, я не знаю как работает PVS студия (тут один господин недавно очень активно ее продвигал) но я убежден что она отметит безмысленное использование инициализации и предложит перенести декларации в выражение for. И также предложит избежать повторного использования переменной в разных ролях. Возможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 19:40 |
|
Странное поведение переменной
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Maksim8542откуда взялось 6? Из мусора. Маловероятно, думаю оптимизатор поставил бы 1 чтобы не инициализировать повторно. Скорее всего ТС посмотрел отладчиком что в i после цикла, там гарантированно 6. PS mayton прав, не стоит так писать. Это стиль С, в С++ это не рекомендуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 20:02 |
|
Странное поведение переменной
|
|||
---|---|---|---|
#18+
Откомпилировал код ТС в MSVC2017, там выводится 6 Код: plaintext 1. 2.
ТС прав, это хрень какая-то, и цикл не повторяется. Все банально, но не работает (( ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 20:21 |
|
Странное поведение переменной
|
|||
---|---|---|---|
#18+
Я тупой, убери ; у тебя цикл без тела Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 20:25 |
|
Странное поведение переменной
|
|||
---|---|---|---|
#18+
И чтобы не наступить на эти грабли снова, пиши Код: plaintext 1.
а это не пиши Код: plaintext 1.
PS Для индексов лучше не int, а size_t ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 20:27 |
|
Странное поведение переменной
|
|||
---|---|---|---|
#18+
Вот какая-то деревянная проверка ccpcheck сразу подсвечивает предупреждение. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 00:38 |
|
|
start [/forum/topic.php?fid=57&msg=39902041&tid=2017500]: |
0ms |
get settings: |
12ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
16ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 276ms |
total: | 406ms |
0 / 0 |