Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2019, 16:52   #21
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 960
По умолчанию

BLACK_RAIN, про какой тип контейнера речь? То, что ты описал, это поведение std::vector<TMyClass*> .Только это не ссылка, а указатель (но, по сути, это та же ссылка). Ну и ошибки не будет в этом случае. Будет утечка памяти.

Хотя, какая утечка, ведь экземпляры не созданы, копируются указатели, а доступа к экземпляру не было

Последний раз редактировалось Алексей1153; 14.12.2019 в 16:56.
Алексей1153 вне форума Ответить с цитированием
Старый 14.12.2019, 17:05   #22
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
Хотя, какая утечка, ведь экземпляры не созданы
а если бы были созданы?
BLACK_RAIN вне форума Ответить с цитированием
Старый 14.12.2019, 17:08   #23
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

короче, я вроде понял. Буду разбираться.
спасибо
BLACK_RAIN вне форума Ответить с цитированием
Старый 14.12.2019, 17:10   #24
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 960
По умолчанию

повторю вопрос: про какой тип контейнера сейчас речь?

вот три типа вектора, у всех будет немного разное поведение. Сам вектор обеспечивает только размер массива, за поведением типа элемента он "не следит"
Код:
std::vector<TMyClass>
std::vector<TMyClass*>
std::vector<std::shared_ptr<TMyClass>>
Алексей1153 вне форума Ответить с цитированием
Старый 15.12.2019, 10:07   #25
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
повторю вопрос: про какой тип контейнера сейчас речь?
Я в терминологии не силён. Если вы спрашиваете про тип ячеек массива, то речь идёт об указателях.
Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
вот три типа вектора, у всех будет немного разное поведение.
Сейчас использую std::vector<TMyClass*> и всё работает так как было нужно. Экземпляр класса в ячейке массива можно создать и убить в любое время, а при обращении к пустой ячейке вываливается ошибка (в моем случае крашится вся программа). Всё логично.
BLACK_RAIN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив объектов класса, C++ OmegaBerkut Общие вопросы C/C++ 16 27.11.2017 15:48
Класс содержащий массив объектов другого класса Cli Вероника99 Общие вопросы C/C++ 14 28.05.2016 13:52
Шаблонный массив объектов класса - C++ Андрей Иванов Помощь студентам 2 01.10.2015 17:07
Массив объектов класса. zipwind Общие вопросы C/C++ 8 01.05.2011 20:56
динамический массив объектов класса. С++ Шиншилка Помощь студентам 8 25.04.2011 17:58