|
6 / 5 / 1
Регистрация: 24.10.2018
Сообщений: 76
|
|||||||||||||||||||||
Ссылочные типы данных и интерфейсы24.02.2019, 17:34. Показов 3629. Ответов 12
Метки нет (Все метки)
Есть некоторый проект, в котором реализованы тесты:
Далее продолжаем в тестах, переменой ghostItem присваиваю значение task.Create(); Я ожидаю что переменная item1 в классе GhostsTask и переменная ghostItem(из тестов) будут ссылкой на один и тот же объект типа Vector. Но почему то это не так, изменяя переменную item1 в методе DoMagic() я хочу что бы менялась переменная ghostItem в тестах. Но это так не работает, понятия не имею почему так происходит! Доп. код: интерфейсов и метода Vector.Add(): 1) Интерфейсы
0
|
|||||||||||||||||||||
| 24.02.2019, 17:34 | |
|
Ответы с готовыми решениями:
12
Значимые и ссылочные типы данных Типы значения и ссылочные типы |
|
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
|
|
| 24.02.2019, 17:37 | |
|
А Vector случайно не структура? Если да, то вы наверно помните, что структуры передаются по значению, а не по ссылке.
0
|
|
|
6 / 5 / 1
Регистрация: 24.10.2018
Сообщений: 76
|
|
| 24.02.2019, 17:40 [ТС] | |
|
0
|
|
|
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
|
|
| 24.02.2019, 18:37 | |
|
Создал подобную структуру как у вас, но воспроизвести проблему не получилось, всё меняется так, как и ожидалось.
Попробуйте пройтись дебагером и определить место, где происходит непредвиденный сбой.
0
|
|
|
6 / 5 / 1
Регистрация: 24.10.2018
Сообщений: 76
|
|
| 24.02.2019, 20:28 [ТС] | |
|
Ссылка на проект https://drive.google.com/file/... sp=sharing
Добавлено через 1 минуту Сбоя нет, он просто меняет значение одной из переменных. Другую переменную не трогает, как будто так и нужно. Добавлено через 1 минуту В проекте пока интересны три файла, Vector, GhostsTask и GhostsTest Добавлено через 22 минуты Не пробовали еще? Такой же результат как у меня? Добавлено через 1 час 14 минут Help! Please, Help!
0
|
|
|
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
|
||||||||||||||||
| 24.02.2019, 21:57 | ||||||||||||||||
|
Да, я попробовал открыть ваш проект, там почему-то не совсем корректно открылось, но не суть, я убрал то, что не касалось вопроса.
Для проверки я сделал некоторые изменения. Временно добавил в класс Vector метод, чтобы хоть как-то увидеть значения его свойств, а то ведь совсем нет доступа к ним ниоткуда
1
|
||||||||||||||||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
|
| 24.02.2019, 21:58 | |
|
0
|
|
|
6 / 5 / 1
Регистрация: 24.10.2018
Сообщений: 76
|
||
| 24.02.2019, 22:29 [ТС] | ||
|
Вот в обсуждении к этому заданию нашел: "все правильно делаешь, только сохранять надо в сущность другого типа, поэкспериментируй." "В сущность такого типа, которая содержит множество экземпляров одного типа. Думай, экспериментируй." ………..
0
|
||
|
6 / 5 / 1
Регистрация: 24.10.2018
Сообщений: 76
|
|
| 24.02.2019, 22:50 [ТС] | |
|
ссылка на задание https://ulearn.me/Course/Basic... f38fba7acc
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
|
| 24.02.2019, 22:53 | |
Сообщение было отмечено Mark0111 как решение
Решение
1
|
|
|
6 / 5 / 1
Регистрация: 24.10.2018
Сообщений: 76
|
|
| 24.02.2019, 23:09 [ТС] | |
|
Точно! Спасибо большое! Тогда можно вместо Vector item1 сделать массив Vector[] item1, и менять первый.
0
|
|
|
6 / 5 / 1
Регистрация: 24.10.2018
Сообщений: 76
|
|
| 24.02.2019, 23:44 [ТС] | |
|
Спасибо! Судя по комментам на странице с заданием, я не один попался в эту ловушку.
0
|
|
| 24.02.2019, 23:44 | |
|
Помогаю со студенческими работами здесь
13
Ссылочные и значимые типы, разобрать пример Вопрос про ссылочные типы и object
Значимые и ссылочные типы. Куча и стек. И всем таким темам посвящается Где найти подробную информацию про ссылочные и значимые типы, стек и управляемую кучу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|