Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
Случай 1. Код: sql 1. 2. Случай 2. Код: sql 1. 2. Вопрос, какое значение i будет при выполнении кода функции. Конкретно интересует механизма работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 17:04 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
da17, Блин, я делфинист с хз-сколькилетним стажем и то знаю. В любой книжке для начинающих есть. Лень книжку открыть, в гугл заведи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 17:34 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
PS: даже лень скомпилить за 30 сек прогу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 17:36 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
da17, Ответ: при вызове функции вычисляется значение выражения и присваивается формальному параметру функции. Встречные вопросы: чему в Ваших примерах равны значения выражений i++ и ++i? Как значение переменной i, объявленной, судя по примеру, как локальная переменная некоторой функции, может повлиять на ход работы функции foo, вызываемой в Вашем примере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 18:10 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
da17Случай 2. Код: sql 1. 2. Конкретно интересует механизма работы. Механизм работы этого случая такой: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 20:41 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
1 - значение i после увеличения, 2 - значение i до увеличения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 20:52 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyda17Случай 2. Код: sql 1. 2. Конкретно интересует механизма работы. Механизм работы этого случая такой: Код: sql 1. 2. 3. 4. Или так? Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 21:02 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
Или так?, Ваш код показывает что делается, а не как :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 21:46 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyИли так?, Ваш код показывает что делается, а не как :) Может быть ваш код более понятен :) Но ни мой, ни ваш код не будет эквивалентным исходному, если функция например void foo(int &a) { a += 5; } А если совсем точно, то на 100% эквивалентный код: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 22:22 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
Или такНо ни мой, ни ваш код не будет эквивалентным исходному, если функция например void foo(int &a) { a += 5; } А если совсем точно, то на 100% эквивалентный код: Код: plaintext 1. 2. Опять не то . Это вы рассказываете как компилятор рассматривает код (и далеко не на 100% точно, вернее 100% неточно - hint: sequence points). Я же писал как этот код выполняется внутри (предполагаем что программу удалось откомпилировать, ведь иначе у нее нет никакого внутреннего устройства ). А выполняется он именно так и в таком порядке как я написал: - копия во временную переменную (по научному - вычисление аргумента функции) - инкремент i (до вызова функции - крайний срок когда по стандарту нужно применить постинкремент в ее аргументах) - вызов функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 01:38 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyИли такНо ни мой, ни ваш код не будет эквивалентным исходному, если функция например void foo(int &a) { a += 5; } А если совсем точно, то на 100% эквивалентный код: Код: plaintext 1. 2. Опять не то . Это вы рассказываете как компилятор рассматривает код (и далеко не на 100% точно, вернее 100% неточно - hint: sequence points). Я же писал как этот код выполняется внутри (предполагаем что программу удалось откомпилировать, ведь иначе у нее нет никакого внутреннего устройства ). А выполняется он именно так и в таком порядке как я написал: - копия во временную переменную (по научному - вычисление аргумента функции) - инкремент i (до вызова функции - крайний срок когда по стандарту нужно применить постинкремент в ее аргументах) - вызов функции Да кстати, внутри функции уже инкремент состоялся: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. вывод1 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 01:59 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
Или так, А зачем глобальная переменная int i? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. вывод0 1 1 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 09:39 |
|
||
|
i++ и ++i при передаче в функцию
|
|||
|---|---|---|---|
|
#18+
Или такAnatoly Moskovskyпропущено... Опять не то . Это вы рассказываете как компилятор рассматривает код (и далеко не на 100% точно, вернее 100% неточно - hint: sequence points). Я же писал как этот код выполняется внутри (предполагаем что программу удалось откомпилировать, ведь иначе у нее нет никакого внутреннего устройства ). А выполняется он именно так и в таком порядке как я написал: - копия во временную переменную (по научному - вычисление аргумента функции) - инкремент i (до вызова функции - крайний срок когда по стандарту нужно применить постинкремент в ее аргументах) - вызов функции Да кстати, внутри функции уже инкремент состоялся: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. вывод1 1 Что вполне предсказуемо. Вызов функции то уже состоялся. Да, кстати, а зачем <а> в функцию передается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2013, 17:36 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=86&tid=2020530]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 164ms |

| 0 / 0 |
