как выделяется память под контейнеры vector, map в с++
Под элементы контейнера - в куче.1 2
Под сам контейнер - так же, как для любого другого объекта, это зависит от того, как он создан:
new std::vector<int>
- в кучеvoid foo() {std::vector<int> vec;}
- в стеке1 По умолчанию. Написав свой аллокатор, элементы можно поместить куда угодно.
2 Большинство реализаций std::string
не выделяют буфер в куче, если в них немного элементов (не больше пары десятков). В таком случае символы хранятся в самом объекте контейнера. Насколько я знаю, другие стандартные контейнеры так не делают.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть динамический массив под названием buffer, который хранит в себе строку в стиле С(Например какое-нибудь предложение: Hello world) Что делает данная...