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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
karl 777
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 63
#1

allocate, как работает? - C++

04.08.2013, 09:45. Просмотров 656. Ответов 2
Метки нет (Все метки)

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
template<class T>
    class Vec
    {
    public:
        typedef T* iterator;
        typedef const T* const_iterator;
        typedef size_t size_type;
        typedef T value_type;
        typedef T& reference;
        typedef const T& const_reference;
 
         Vec()                                                                  // Конструктор, который говорит, что вектор пустой
         {
            create();
         }
         explicit Vec(size_type n, const T& val=T())                            // Конструктор, который веделяет память на n объектов типа T
         {
             create(n, val);
         }
 
         size_type size() const                                                 // Функция определяющая размер вектора
         {
             return avail-data;
         }
 
         T& operator[](size_type i)                                             // Доступ к i-ому элементу
         {
             return data[i];
         }
         const T& operator[](size_type i) const
         {
             return data[i];
         }
 
         iterator begin()                                                       // Возвращает итератор на начало вектора
         {
             return data;
         }
         const_iterator begin() const
         {
             return data;
         }
         iterator end()                                                         // Возвращает итератор на конец вектора
         {
             return avail;
         }
         const_iterator end() const
         {
             return avail;
         }
 
         Vec(const Vec& v)                                                      // Конструктор копирования       
         {
             create(v.begin(), v.end());
         }
 
         Vec& operator=(const Vec&);                                            // Конструктор присваивания
 
         ~Vec()                                                                 // Деструктор для разрушения вектора
         {
             uncreate();                                                    
         }
 
         void push_back(const T& t)
         {
             if(avail==limit)
                 grow();
             unchecked_append(t);
         }
 
    private:
        iterator data;                                                          // Начало инициализированых элементов
        iterator avail;                                                         // Конец инициализированых элементов и начало неицилизированых
        iterator limit;                                                         // Конец неинициализированых элементов
        
        allocator<T> alloc;                                                     // Объект, управляющий выделением памяти
 
        // Средства размещения в памяти базового массива и его инициализации
        void create();
        void create(size_type, const T&);
        void create(const_iterator, const_iterator);
 
        // Средства разрушения элементов массива и освобождения памяти
        void uncreate();
 
        void grow();
        void unchecked_append(const T&);
    };
allocator<T> alloc - что это собственно такое и как работает?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.08.2013, 09:45     allocate, как работает?
Посмотрите здесь:

Ошибка: cannot allocate an object of abctract type - C++
такая ошибка : cannot allocate an object of abctract type 'Linear' ну и ниже : cannot allocate an object of abctract type 'Exponential' ...

Expected constant expression; cannot allocate an array of constant size 0 - C++
Доброго утра. Народ помогите, вот программа оформлена в виде функции #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; ...

Как называется условие if (!x) {} и как оно работает? - C++
Добрый день, как называется условие if (!x) {} и как работает? Если x вернет true, то x &quot;выполнится&quot; иначе сработает условие в скобках? ...

If, Else как работает? - C++
Почему выполняется условие else? #include &lt;iostream&gt; using namespace std; int main() { int firstNumber, secondNumber; ...

Как работает? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main() { int m; int n; int sum = 0; cout &lt;&lt;...

Как работает strncpy()? - C++
#include&lt;iostream&gt; #include&lt;cstring&gt; using namespace std; char*input(char*word,int&amp;size){ cin.getline(word,size); ...

Как работает return? - C++
При изучении функции наткнулся на непонятную для меня вещь это возврат функций с помощью команды return.Как я понимаю это например у...

Как это работает? - C++
Здравствуйте, можете, пожалуйста, поэтапно объяснить как работает приведенный ниже фрагмент кода? Что такое floor, return, ceil? double...

Как работает const? - C++
Каким образом он защищает данные от изменения ? Т.е. это происходит на этапе компиляции; это закладывается в программу в виде...

как работает getchar() ? - C++
int c; c=getchar(); cout &lt;&lt; c; Набираю на клаве число 123 Cout выдает число 49 ??? Добавлено через 1 минуту из-за нажатия...

Как работает оператор if? - C++
Народ! Операция сравнения возвращает ЧИСЛО, т.е. while и if принимают ЧИСЛО (0 - false, etc - true). Вопрос 1) Почему нельзя записать...

как работает PathRemoveFileSpec - C++
Нужно использовать PathRemoveFileSpec из #include&lt;Shlwapi.h&gt;. char ptr = &quot;C:\\Users\\hp\\Documents\\Visual Studio...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,927
Завершенные тесты: 1
04.08.2013, 11:13     allocate, как работает? #2
Allocator
Misterkat
7 / 7 / 0
Регистрация: 16.11.2012
Сообщений: 83
04.08.2013, 11:48     allocate, как работает? #3
Цитата Сообщение от karl 777 Посмотреть сообщение
что это собственно такое
Ответил Nick Alte,
Цитата Сообщение от karl 777 Посмотреть сообщение
как работает
Выделяет память.
Yandex
Объявления
04.08.2013, 11:48     allocate, как работает?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru