Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Damaks
18 / 10 / 5
Регистрация: 02.09.2010
Сообщений: 235
#1

Вектор и выделение памяти - C++

18.06.2011, 21:36. Просмотров 1282. Ответов 5
Метки нет (Все метки)

Возможно ли изменить коэффициент выделения памяти, без написания собственного аллокатора?
http://www.cyberforum.ru/cpp-beginners/thread1234703.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2011, 21:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вектор и выделение памяти (C++):

Распределение памяти. Динамическое выделение памяти
an-1 an-2 ... a2

Выделение памяти, проверка на утечку памяти
Интересуют два вопроса: 1. Правильно ли устроен алгоритм выделения, удаление...

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

Выделение памяти
Эта программа должна забрать у системы 10 МБ, но диспетчер задач показывает,...

Выделение памяти
Какой суммарный объем памяти в байтах будут занимать поля CObj всех объектов...

5
hepr
61 / 33 / 13
Регистрация: 21.10.2010
Сообщений: 538
18.06.2011, 23:46 #2
Всмысле сколько памяти выделяется на 1 переменную?
0
Damaks
18 / 10 / 5
Регистрация: 02.09.2010
Сообщений: 235
19.06.2011, 00:45  [ТС] #3
Нет, я про коэффициент, на который новый вектор больше старого, тот, что 1,6180339887
0
grizlik78
Эксперт С++
1982 / 1475 / 191
Регистрация: 29.05.2011
Сообщений: 3,048
19.06.2011, 01:02 #4
Речь про ёмкость и на сколько она изменяется, когда для очередной вставки её не хватает? А чем здесь поможет собственный аллокатор? Вроде новый размер всё-равно определяется реализацией вектора.
Ну разве что можно попробовать заблаговременно вызывать reserve с указанием желаемого объёма. И то, никто не гарантирует, что выделится именно столько, сколько запросили, а не больше.

P.S. А где такой интересный коэффициент?
0
silent_1991
Эксперт С++
5007 / 3065 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
19.06.2011, 01:55 #5
grizlik78, это золотое сечение))) Положительный корень уравнения x^2 - x - 1 = 0. Но вообще коэффициент зависит от реализации, в стандарте он не прописан. Обычно старый размер просто удваивается.
1
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
19.06.2011, 08:00 #6
Цитата Сообщение от Damaks Посмотреть сообщение
1,6180339887
Всегда был уверен, что размер удваивается или до ближайшей степени двойки.
0
19.06.2011, 08:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2011, 08:00
Привет! Вот еще темы с решениями:

Выделение памяти
Доброго времени суток. Чтобы выделить память под двумерный массив в такой...

Выделение памяти
Доброго всем вечера. В книжке нашел задание: определить класс, представляющий...

Выделение памяти(С = С++)
Привет. Нужна помощь, в выделении памяти. Есть код на С, нужно перевести его в...

Выделение памяти
Сразу кидаю код. #include "stdafx.h" #include <iostream> #include <memory>...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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