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

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

10.01.2016, 11:24. Показов 9991. Ответов 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
Ответ Создать тему
Новые блоги и статьи
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru