![]() 35 / 35 / 7
Регистрация: 02.05.2013
Сообщений: 109
|
|||||||||||||||||
Реализация контейнера идентичного std::vector по Страуструпу19.08.2013, 11:44. Показов 7467. Ответов 20
Метки нет Все метки)
(
При попытке скомпилировать код появляются ошибки, хотя делаю вроде как пишет Бьярне. Компилятор VSE 2010.
Содержание common.h(файл с набором часто используемых объявлений)
Помогите пожалуйста разобраться в чём дело.
0
|
19.08.2013, 11:44 | |
Ответы с готовыми решениями:
20
Reallocation памяти контейнера std::vector Реализация класса MyString. Стандартная библиотека, std::string, std::vector
|
What a waste!
![]() 1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
||||||||
19.08.2013, 12:50 | ||||||||
Только здесь надо следить, чтобы alloc был объявлен раньше elem в классе (поля класса инициализируются в порядке объявления).
2
|
![]() 35 / 35 / 7
Регистрация: 02.05.2013
Сообщений: 109
|
|||||||||
19.08.2013, 13:11 [ТС] | |||||||||
Вот ещё одна версия реализации, разница в методе vvector::reserve() и объявлении класса vvector.
Смысл задания было сравнить две реализации: с ипользованием базового класса vector_base, который бы управлял памятью, и с использованием std::auto_ptr, и ответить на вопрос, что лучше/легче реализовать. Эта версия (с std::auto_ptr) реализации рабочая. Кликните здесь для просмотра всего текста
Добавлено через 7 минут Теперь компилируется, но вылетает изза повреждения кучи на 14 строке code.cpp внутри mave_vec() cout << "p == " << &(*p) << endl; выводит на экран только "p == " второй оператор << не обрабатывается.
Извините, часть вывода забыл вставить:
0
|
![]() 35 / 35 / 7
Регистрация: 02.05.2013
Сообщений: 109
|
||||||||||||
21.08.2013, 11:45 [ТС] | ||||||||||||
Я ещё не добрался до мануалов по отладке, но я пытаюсь разобраться используя те знания что есть.
Я добавил операторы вывода в конструкторы/деструкторы и методы. На скрине из вложения видно, что появляется лишний деструктор и нарушается инвариант структуры sz<=space. Вывод:
0
|
![]() 35 / 35 / 7
Регистрация: 02.05.2013
Сообщений: 109
|
||||||||||||
21.08.2013, 12:11 [ТС] | ||||||||||||
Я устранил нарушение инварианта структуры (изменения коснулись строк 23 и 130 в vvector.h).
Прошу помощи, совета в каком направлении копать. В этот раз вылетает при попытке добавить 9-й элемент. Вывод.
0
|
Неэпический
![]() |
|||||||||||
21.08.2013, 12:23 | |||||||||||
У Вас тут:
1
|
![]() 35 / 35 / 7
Регистрация: 02.05.2013
Сообщений: 109
|
||||||||||||
22.08.2013, 11:43 [ТС] | ||||||||||||
Спасибо! Добавлено через 22 часа 59 минут Ещё раз спасибо, gray_fox, Croessmah! Если кому интересно, вот исправленный код:
Правильно же говорят: "Поспешишь, людей насмешишь." ![]() Ниже исправление исправленной версии.
1
|
8 / 8 / 5
Регистрация: 28.10.2012
Сообщений: 135
|
|||||||||||
04.10.2016, 00:12 | |||||||||||
Тоже читаю Бьярне
Сам свой вектор не смог осилить, за основу взял Ваш. Немного переделал его по своему (вариант c auto_ptr проще):
Какие-то опции компилятору поставить пади?
0
|
![]() |
||
04.10.2016, 08:20 | ||
Где реализация? Какой тип хранимых объектов? Максимальное значение, хранящиеся в int - 2 147 483 647.
0
|
8 / 8 / 5
Регистрация: 28.10.2012
Сообщений: 135
|
|||||||||||||||||||
05.10.2016, 16:09 | |||||||||||||||||||
0
|
![]() |
|
05.10.2016, 16:17 | |
nofx, а какой компилятор? Приложение 32 или 64-битное?
0
|
![]() |
|
05.10.2016, 16:45 | |
0
|
8 / 8 / 5
Регистрация: 28.10.2012
Сообщений: 135
|
||||||||
05.10.2016, 17:47 | ||||||||
Добавлено через 7 минут считаем так: 8 байт (double) * max_size(536870911) и переводим в мегабайты = 4096 мегабайт По факту: 8 * 134217728 = .... = 1024 мегабайт выделяется Добавлено через 10 минут
0
|
05.10.2016, 17:47 | |
Помогаю со студенческими работами здесь
20
Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию?
Реализация своего std::vector c аллокатором памяти
Вывести значения std::vector<std::vector<int*> > Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Деплой Flask приложения
py-thonny 23.06.2025
За годы работы с Flask я натыкался на одни и те же грабли достаточно часто, чтобы наконец научится их обходить. И сегодня хочу поделится опытом, который сбережет вам немало нервных клеток. Начнем с. . .
|
WebAssembly и контейнеры в .NET Aspire для оркестрации распределенных архитектур
ArchitectMsa 23.06.2025
Я наблюдаю, как WebAssembly (или просто WASM) постепенно выходит за рамки своего первоначального предназначения — исполнения кода на стороне браузера. Теперь эта технология проникает в серверную. . .
|
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
|
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
|
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
|
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
|
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
|
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
|
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
|
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C#
Задание 1:
КЛАСС FORM 1
public partial class Form1 : Form
{
Spisok listin = new Spisok();
. . .
|