Форум программистов, компьютерный форум, киберфорум
Наши страницы

realloc - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить программу определения минимального среди 5 введенных целых чисел. http://www.cyberforum.ru/cpp-beginners/thread288292.html
Плз помогите составить текст программы,на Си Обход. Составить программу определения минимального среди 5 введенных целых чисел.
C++ Перегрузка виртуальных функций please HELP! перегружаю виртуальную функцию в абстрактном классе. class ONE { virtual std::string FUN(const std::string& value); virtual ~ONE(); } http://www.cyberforum.ru/cpp-beginners/thread288286.html
Массивы и указатели C++
Здравствуйте! Задача по теме указатели.Есть 2 массива размер которого получаем от пользователя. Написать функцию которая получает 2 массива и создает третий массив, размером первый + второй. В main...
C++ Структуры
Сформировать массив, содержащий сведения о количестве изделий категорий A,B,C, собранных рабочим за месяц. Структурный тип содержит поля: фамилия сборщика, наименование цеха, количество изделий по...
C++ Постфиксный, и префиксный экземпляры оператора приращения: в чем разница? http://www.cyberforum.ru/cpp-beginners/thread288254.html
постфиксный, и префиксный экземпляры оператора приращения в чем разница? i++ ++i ??
C++ Добавить элементы в очередь, найти максимальный элемент Нужна Ваша помощь! пожалуйста, помогите доработать программу, а то у меня совсем ничего не получается(( задача такая: в файле лежат элементы. добавить в очередь. найти максимальный элемент. Спасибо... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.05.2011, 14:43
pito211, Вектором пользоваться. Стрингом. Нету замены реаллоку в С++. Однако если посмотреть в сторону STL в частности вектор и т.д. можно понять что замена все же есть, хоть и довольно тяжелая.

Добавлено через 26 минут
Реализация reserve в векторе в GCC 4.4.5. Почти realloc по сути.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  template<typename _Tp, typename _Alloc>
    void
    vector<_Tp, _Alloc>::
    reserve(size_type __n)
    {
      if (__n > this->max_size())
    __throw_length_error(__N("vector::reserve"));
      if (this->capacity() < __n)
    {
      const size_type __old_size = size();
      pointer __tmp = _M_allocate_and_copy(__n,
         _GLIBCXX_MAKE_MOVE_ITERATOR(this->_M_impl._M_start),
         _GLIBCXX_MAKE_MOVE_ITERATOR(this->_M_impl._M_finish));
      std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
            _M_get_Tp_allocator());
      _M_deallocate(this->_M_impl._M_start,
            this->_M_impl._M_end_of_storage
            - this->_M_impl._M_start);
      this->_M_impl._M_start = __tmp;
      this->_M_impl._M_finish = __tmp + __old_size;
      this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
    }
    }
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru