11 / 11 / 4
Регистрация: 18.06.2013
Сообщений: 29
|
|||||||||||
1 | |||||||||||
Строки и выделение памяти22.08.2013, 12:54. Показов 734. Ответов 6
Метки нет (Все метки)
Здравствуйте прогеры.
Пишу набор "лёгких" классов дабы использовать их в своём игровом движке и столкнулся с проблемой. Класс String - контейнер для строк. Вроде всё работает на отлично, но! Перегружая оператор сложения столкнулся с проблемой преждевременного удаления буфера.
А вот с ATL CString этот пример работает замечательно. Там памятью управляет хитрый интерфейс StringManager, а я пишу с помощью старых добрых malloc и realloc. Так вот собственно вопрос: как сделать, чтоб буфер не удалялся сразу, а только после возврата функции TestInfoBox?
0
|
22.08.2013, 12:54 | |
Ответы с готовыми решениями:
6
Выделение памяти в С++ Выделение памяти в С++ Выделение памяти Динамическое выделение памяти! |
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
22.08.2013, 13:12 | 2 |
Конструктор копирования и оператор = в твоем классе String определены?
0
|
11 / 11 / 4
Регистрация: 18.06.2013
Сообщений: 29
|
|
22.08.2013, 13:19 [ТС] | 3 |
Обязательно
0
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
22.08.2013, 13:23 | 4 |
Тогда приведи минимальный пример кода, воспроизводящий проблему. Пока из приведенного в первом посте кода, считая, что все реализовано правильно, причина проблемы не ясна.... Проблема явно в части кода, не вошедшей в пост 1.
0
|
11 / 11 / 4
Регистрация: 18.06.2013
Сообщений: 29
|
|
22.08.2013, 13:34 [ТС] | 5 |
Пример кода 1 к 1. Проблему нашёл, я ламер походу)) В операторе копирования возвращаю ссылку на временный объект String, когда нужно возвращать ссыль на текущий. И стоило вас тревожить из-за своей невнимательности...
0
|
11 / 11 / 4
Регистрация: 18.06.2013
Сообщений: 29
|
|
02.09.2013, 08:23 [ТС] | 7 |
Захотелось велосипед, сделанный своими руками
0
|
02.09.2013, 08:23 | |
02.09.2013, 08:23 | |
Помогаю со студенческими работами здесь
7
Выделение памяти оператором new Динамическое выделение памяти Выделение памяти Выделение памяти (CodeGear RAD Studio 2009 - C++ builder). Выделение памяти - консоль vs SDIApp Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |