|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.03.2018, 00:46 | #1 |
Новичок
Джуниор
Регистрация: 20.03.2018
Сообщений: 1
|
Непонятное поведение обобщения метода
В первом случае в консоль выводится цифра 6, а во втором - 1. Не понимаю почему это происходит, метод не возвращает ни каких значений, но при этом в первом случае как-то изменяет переменную из вне. Объясните, пожалуйста, что происходит
|
20.03.2018, 01:49 | #2 |
Пользователь
Регистрация: 14.06.2017
Сообщений: 45
|
Когда в метод передаётся просто переменная, то под неё выделяется новая память, а когда передаёте массив, то передаётся указатель, таким образом вы напрямую работаете с переданным массивом. Что бы лучше это понять, почитайте про массивы в c++, потому что c++ тесно дружит с адресами памяти
Последний раз редактировалось ZnZ; 20.03.2018 в 01:52. |
20.03.2018, 07:31 | #3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
во втором случае параметр c нужно сделать ref
|
20.03.2018, 08:43 | #4 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
|
20.03.2018, 10:05 | #5 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
непонятное поведение указателя | frommars | Общие вопросы C/C++ | 1 | 08.10.2012 15:27 |
Непонятное поведение программы | Bonifacyi | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 18.12.2011 14:10 |
Непонятное поведение алгоритма | master_root | Общие вопросы Delphi | 3 | 11.06.2008 14:32 |