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