Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/48: Рейтинг темы: голосов - 48, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50

Реализация вектора

10.01.2016, 11:24. Показов 10464. Ответов 80

Студворк — интернет-сервис помощи студентам
Добрый день. Нужно мне реализовать функции самому push_back та pop_back.
Моя реализация push_back. А от как реализовать pop_back я незнаю. Там нужно только удалить останий елемент. Но как это сделать? Подскиже.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
template <typename T, typename Allocator>
void Vector<T, Allocator>::push_back(const T& value)
{
    if (m_size == m_capacity)
    {
        const size_type capacity = 2 * m_capacity;
        pointer begin = m_allocator.allocate(capacity);
 
        UninitializedCopy(m_begin, m_begin + m_size, begin);
        deallocate();
 
        m_begin = begin;
        m_capacity = capacity;
    }
 
    m_allocator.construct(m_begin + m_size, value);
    ++m_size;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.01.2016, 11:24
Ответы с готовыми решениями:

Реализация вектора
Всем доброго времени суток. Я сегодня уже обращался за помощью к форумчанам, но костыли не дремлют... Проблема: Есть класс User....

Реализация вектора
Здравствуйте друзья! Зашел в тупик после того как попытался реализовать структуру данных типа вектор своими силами. Допустим у нас есть...

Реализация вектора ссылок
Доброго времени суток, дорогие форумчане! Проблема в следующем: мне дано было задание сделать игру Го(кто не знает это что-то вроде...

80
0 / 0 / 0
Регистрация: 09.01.2016
Сообщений: 50
15.01.2016, 11:51  [ТС]
Студворк — интернет-сервис помощи студентам
Нашел ошибку но всеравно не правильно работает:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Vector<char, Allocator<char>> v8;
    v8.reserve(4);
    v8.push_back('b');
    v8.push_back('e');
    v8.push_back('h');
    v8.push_back('m');
    Vector<char, Allocator<char>>::reverse_iterator itEnd1(v8.rend());
    Vector<char, Allocator<char>>::reverse_iterator it1(v8.rbegin());
 
    for (itEnd1 = v8.rbegin(); it1 != itEnd1; --itEnd1)
        std::cout << "itEnd1: " << *itEnd1 << "\n";
    std::cout << "\n";
 
    for (it1 = v8.rbegin(); it1 != itEnd1; ++it1)
        *it1 = 'd';
 
    for (it1 = v8.rbegin(); it1 != itEnd1; ++it1)
        std::cout << "it1: " << *it1 << "\n";
Добавлено через 1 минуту
ForEveR, тогда я не понял как пройтись с конца на перед без itEnd

Добавлено через 6 минут
ForEveR, itEnd1 - это конец

Добавлено через 1 минуту
Все сделал)))
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Vector<char, Allocator<char>> v8;
    v8.reserve(4);
    v8.push_back('b');
    v8.push_back('e');
    v8.push_back('h');
    v8.push_back('m');
    Vector<char, Allocator<char>>::reverse_iterator it1(v8.rend());
    Vector<char, Allocator<char>>::reverse_iterator itEnd1(v8.rbegin());
 
    for (itEnd1 = v8.rbegin(); it1 != itEnd1; ++itEnd1)
        std::cout << "itEnd1: " << *itEnd1 << "\n";
    std::cout << "\n";
 
    for (it1 = v8.rbegin(); it1 != itEnd1; ++it1)
        *it1 = 'd';
 
    for (it1 = v8.rbegin(); it1 != itEnd1; ++it1)
        std::cout << "it1: " << *it1 << "\n";
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.01.2016, 11:51

Реализация собственного класса вектора
Создать абстрактный тип данных - класс вектор, который имеет указатель на float, число элементов и переменную состояния. Определить...

Реализация двусвязного списка на базе вектора
Дано задание реализовать двусвязный список на базе вектора. Насколько я понял, сам вектор реализовывать полностью не нужно, как и...

Реализация функций reserve и clear для вектора
Мне нужно самой написать реализацию. От что у меня есть: template&lt;typename T&gt; void Vector&lt;T&gt;::PopBack() { mVector.~T(); ...

Как обозначить значения внутри вектора для другого вектора итератором?
Например, в одном векторе есть числа 1, 3, 4. В другом векторе их 5: 25 95 45 65 75. Как сделать так, чтобы во втором векторе удалились...

Найти сколько элементов первого вектора совпадают с элементами второго вектора
#include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;vector&gt; #include &lt;set&gt; using namespace std; void main() { ...


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

Или воспользуйтесь поиском по форуму:
81
Ответ Создать тему
Новые блоги и статьи
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. Сразу отвечу: А в PvP с ним. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru