Форум программистов, компьютерный форум CyberForum.ru

realloc - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
04.05.2011, 09:51     realloc #1
здраствуйте!

решил накатать такой класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdlib.h>
 
template <typename TYPE> 
class List
{
private:
    TYPE* buffer;
    size_t _size;
public:
    List() : buffer(NULL), _size(0) {};
    void push(const TYPE &val);
    TYPE pop();
 
 
};
 
template <typename TYPE> 
void List<TYPE>::push(const TYPE &val) {
    _size++;
    TYPE* _buffer = NULL;
    _buffer = (TYPE*) realloc(buffer, sizeof(val) * _size);
 
    if ( _buffer != NULL ) {
        buffer = _buffer;
        buffer[_size] = val;
    }
}
проблема заключается в функции push деббагер в вижуал студио пишет что неправильный указатель в _buffer выделяется, хотя написано всё почти точно так же как в cplusplus.com. Проверял при TYPE=string. В чё может бытть проблема? Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2011, 09:51     realloc
Посмотрите здесь:

malloc, realloc C++
C++ Не выполняется realloc
аналог realloc() в С++ C++
C++ realloc
ошибка realloc C++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
04.05.2011, 15:51     realloc #21
Цитата Сообщение от pito211 Посмотреть сообщение
прочитал всё. Понял суть. А как же тогда быть. New и delete заменяют malloc и free а чем заменить realloc?
...Так просто же
http://www.cplusplus.com/reference/stl/vector/resize/
Изменяется размер последовательности и всё. И не думаешь об освобождении памяти.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2011, 18:39     realloc
Еще ссылки по теме:

realloc C++
C++ Функция realloc
C++ Функция realloc

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
04.05.2011, 18:39  [ТС]     realloc #22
если бы можно было использовать вектор, то и темы этой наверно не возникло бы?
Yandex
Объявления
04.05.2011, 18:39     realloc
Ответ Создать тему
Опции темы

Текущее время: 21:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru