|
Полярный
477 / 449 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
|
||||||
Дребедень с указателями хэлп11.09.2011, 19:01. Показов 2283. Ответов 24
Метки нет (Все метки)
Здравствуйте, форумчане. Изучаю с++, дошёл до указателей. Душа потребовала эксперементов. Прежде чем обяъявить проблему ,подумайте, какой ответ должна дать следующая программа на с++:
modify(x) = 1, а x = 1 Но у меня х = 10 Народ, подскажите, в чём проблема, точнее в чём моя проблема? PS. Если перед cout вызвать функцию modify(&x), выдаёт правильный ответ (х = 1)
0
|
||||||
| 11.09.2011, 19:01 | |
|
Ответы с готовыми решениями:
24
Поиск от Mail.ru, реклама казино прочая дребедень Хэлп ! ХЭЛП НАРОД |
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 11.09.2011, 22:17 | |
|
На самом деле разные ответы запросто можно получить на одном компиляторе
На примере студии 2008: D:\Temp\test\vc>cl /EHsc ptr.cpp /nologo ptr.cpp D:\Temp\test\vc>ptr.exe modify(x) = 1 x = 10 D:\Temp\test\vc>cl /EHsc /O2 ptr.cpp /nologo ptr.cpp D:\Temp\test\vc>ptr.exe modify(x) = 1 x = 1
0
|
|
|
Полярный
477 / 449 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
|
||
| 13.09.2011, 10:11 [ТС] | ||
![]() Вывод: сначала значения записываются в стек (справа на лево), потом выводятся на экран - с помощью стека. Начинаю немного понимать для чего нужен стек и с чем его (едят) юзают.Kastaneda, где можно просмотреть код асмы в компилере, как в вашем 13 сообщении? Спасибо всем!
0
|
||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 13.09.2011, 11:21 | |
|
Пожалуй эту тему тоже стоит прикрепить, так как регулярно появляется этот вопрос про std::cout и регулярно ответы на него про стек и лево-право.
0
|
|
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||
| 13.09.2011, 12:09 | ||
0
|
||
|
Заблокирован
|
||||||||||||
| 13.09.2011, 19:07 | ||||||||||||
|
Тут вам наговорили всякой всячины, которая совершенно неверная! Во-первых, что представляет из себя строка вашего кода
, то совсем необзяательно, что сначала будет вызвана функция modify(&x) , а затем вычислено значение переменной 'x'. Напротив, чаще всего компиляторы, исходя из соглашений языка С++ для ассемблера по помещению аргументов в стек, начинают вычислять выражения аргументов справа налево! Именно это и произошло в вашем случае! То есть ваш компилятор сначала вычислил правый аргумент оператор-функции << - 'x', а затем вычислил значение левого аргумента, то есть то выражение, где происходит вызов функции modify(&x) .
1
|
||||||||||||
| 13.09.2011, 19:07 | |
|
хэлп плиз Хэлп с программкой Хэлп по лабораторной 2 хэлп по вёрстке склейщик хэлп ;) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу:
https:/ / github. com/ altbodhi/ ReConMan
По итогу пришел к мысли, что DU не дружат с существующими технологиями.
От сериализации до отображения в реляционную. . .
|
Администрация Хабра удаляет новые энрегоэфективные алгоритмы, которые не западной школы кода, и вовсе никак не сгенерировавны.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
|
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|