|
442 / 99 / 42
Регистрация: 04.10.2011
Сообщений: 359
|
||||||
Почему объекты, созданные в стеке и перемещенные в контейнер, не теряют свои данные?06.06.2018, 16:14. Показов 1327. Ответов 7
Объясните пожалуйста почему объекты созданные в стеке и перемещенные в контейнер не теряют свои данные?
Может я не правильно определил конструктор перемещения? Если да то как правильно? Там в main комментарии на всяк случай.
0
|
||||||
| 06.06.2018, 16:14 | |
|
Ответы с готовыми решениями:
7
Импорт моделей в Unity3D, модели теряют свои размеры, почему?
Почему форумы теряют популярность? |
|
140 / 110 / 60
Регистрация: 26.10.2013
Сообщений: 314
|
|||||||
| 06.06.2018, 16:22 | |||||||
1
|
|||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 06.06.2018, 16:29 | |
|
1
|
|
|
442 / 99 / 42
Регистрация: 04.10.2011
Сообщений: 359
|
||||||
| 06.06.2018, 16:49 [ТС] | ||||||
|
Спасибо большое. Хорошо, если нет перемещения то почему тогда объекты созданные в стеке и помещенные в контейнер по ссылке, после того как ф-ция отработает и объекты уничтожатся, то по ссылкам в контейнере все-равно можно прочитать данные т.е. в ф-ции main цикл обходит контейнер и получается выводит данные по битым ссылкам? Вот код который изначально вызвал у меня вопросы:
0
|
||||||
|
140 / 110 / 60
Регистрация: 26.10.2013
Сообщений: 314
|
||||||
| 06.06.2018, 18:28 | ||||||
|
moskitos80, ваш вектор содержит копии объектов. Как только объект вектора уничтожается, вызываются деструкторы хранящихся в нем элементов. Поэтому здесь
1
|
||||||
|
442 / 99 / 42
Регистрация: 04.10.2011
Сообщений: 359
|
|||||||
| 06.06.2018, 22:40 [ТС] | |||||||
0
|
|||||||
|
140 / 110 / 60
Регистрация: 26.10.2013
Сообщений: 314
|
|
| 06.06.2018, 22:55 | |
Сообщение было отмечено moskitos80 как решение
Решение
moskitos80, в метод push_back мы передаем объект по константной ссылке.
Это значит, что функция не будет менять состояние объекта. Уже внутри функции push_back делается копия и вставляется в конец массива.
1
|
|
|
442 / 99 / 42
Регистрация: 04.10.2011
Сообщений: 359
|
|
| 07.06.2018, 10:47 [ТС] | |
|
Вот теперь все встало на место. Большое спасибо. Я а то я помню где то читал, что контейнеры STL всегда копируют объекты внутрь себя, а тут меня сбило с толку что в сигнатуре функции указана ссылка. Мне бы поковырять заголовки библиотеки поглубже, да квалификации не хватает, да и забыл уже то что изучал когда то.
0
|
|
| 07.06.2018, 10:47 | |
|
Помогаю со студенческими работами здесь
8
Флешки теряют данные: миф или реальность?
Как переместить созданные объекты Скрипт не действует на созданные объекты Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
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, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|