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

Прокомментируйте программу (программа внутри) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функции. Напечатать на экране все те числа, которые принадлежат этому интервалу... http://www.cyberforum.ru/cpp-beginners/thread711525.html
Дан интервал натуральных чисел . Напечатать на экране все те числа, которые принадлежат этому интервалу и которые можно выразить как сумму квадратов двух натуральных чисел (используя функцию, которая...
C++ Оптимизировать перебор Неделю учу С++, так что прошу не гадить. Надо уменьшить время работы. Задача: Вступление — Брат мой, Магистр Ордена хочет узнать завтра о результатах наших многолетних изысканий. Он хочет видеть,... http://www.cyberforum.ru/cpp-beginners/thread711507.html
Как объяснить какую книгу выбрать в подарок? C++
Девушка подарит мне книгу по программированию C++. Меня интересует книга для новичков, но чтобы не консольный си был а объектно-ориентированный (ну то есть формы, окошки). Подскажите как можно...
C++ Выделить первое слово из строки(работа с указателями)
Здравствуйте, помогите пожалуйста, в чем ошибка в моем коде: #include <iostream> #include <stdio.h> #include <string.h> using namespace std; int substr(char *s1, char *s2);
C++ Написать программу: копирование файлов http://www.cyberforum.ru/cpp-beginners/thread711489.html
Пожалуйста, помогите написать программу, копирующую один файл в другой. Имена файлов программа должна получать из командной строки.Если не удаётся открыть соответствующий файл, должно выдаваться...
C++ Сколько букв "У" в введенном слове стоит на четных местах? сортировка строк в С++ подробнее

Показать сообщение отдельно
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,926
Записей в блоге: 1
29.11.2012, 15:20
Цитата Сообщение от ValeryS Посмотреть сообщение
А при помощи указателей
я должен выделить память на 3 элемента
ввести данные
понять что нужен четвертый элемент
выделить память под 4 элемента скопировать туда из предыдущей памяти 3 элемента
ввести четвертый
удалить предыдущую память
видишь сколько телодвижений вместо одного push_back
А вот это не надо! Программисты-создатели STL не использовали каких-то инопланетных технологий, создавая шаблон <vector>!

В векторе при push_back именно что проверяется, осталось ли ещё место в ранее зарезервированной под него памяти и если нет, происходит перераспределение: выделение памяти, копирование и.т.д. Естесственно оно происходит не при каждом пушбеке, но время от времени его внутренний "массив с хвостиком" заканчивается и приходится выделять массив размера n + x позиций и копировать в него.

Так что с вектором ты ничего не выигрываешь. Если нужен выигрышь в динамическом добавлении/удалении элементов, используй список <list>

Добавлено через 5 минут
(но тут будет проигрыш во времени произвольного доступа к элементу)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru