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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Damaks
18 / 10 / 1
Регистрация: 02.09.2010
Сообщений: 235
#1

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

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

Возможно ли изменить коэффициент выделения памяти, без написания собственного аллокатора?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2011, 21:36     вектор и выделение памяти
Посмотрите здесь:

Правильно ли в приведенном примере реализовано выделение и очищение памяти под двумерный вектор - C++
Скажите правильно ли я выделяю и очищаю память под двухмерный вектор class A { private: std::vector< std::vector<int> >* ...

Выделение памяти - C++
Часто возникает такая проблема, когда конфигурирую проект как Release происходит ошибка выделения памяти (при вызывании new), например...

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

Выделение памяти - C++
Скажите пожалуйста что не так? Не могу получить доступ к элементу str = 12, stlb = 3 bool** tempValues = new(bool*); for(int i = 0;...

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

выделение памяти - C++
#include <iostream> using namespace std; class Matrix { int m, n; public: float **M; Matrix(int a, int b); void...

Выделение памяти (new) - C++
Наткнулся на пример где делают непонятные мне выделения памяти с помощью new X* pi = new X; X* p2 = new X ; X* рЗ = new (&buffer )...

Выделение памяти - C++
Доброго времени суток. Чтобы выделить память под двумерный массив в такой форме: //n - переменная, M - константа arr = new double...

выделение памяти - C++
есть класс множество. необходимо создать класс "правило", одним из методов которого является добавление множества к соответствующему списку...

Выделение памяти - C++
Здравствуйте! #include<iostream> int main() { int *mass = new int ; int *mass2 = new int ; std::cout << (unsigned int)mass <<...


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

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

P.S. А где такой интересный коэффициент?
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
19.06.2011, 01:55     вектор и выделение памяти #5
grizlik78, это золотое сечение))) Положительный корень уравнения x^2 - x - 1 = 0. Но вообще коэффициент зависит от реализации, в стандарте он не прописан. Обычно старый размер просто удваивается.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
19.06.2011, 08:00     вектор и выделение памяти #6
Цитата Сообщение от Damaks Посмотреть сообщение
1,6180339887
Всегда был уверен, что размер удваивается или до ближайшей степени двойки.
Yandex
Объявления
19.06.2011, 08:00     вектор и выделение памяти
Ответ Создать тему
Опции темы

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