Начал изучать STL.
Лазил тут по форуму и появился вопрос для модераторов:
А не сделать ли отдельную ветку форума "STL/BOOST", есть же например ATL/WTL.
Ну это так, к слову (наверное я уже 151-ый такой умный по этому поводу)
Собственно вопрос следующий.
допустим есть:
struct stlstruct
{
CString str1;
int num;
char rrr[1000000];
};
Я создаю :
vector< stlstruct > vStlStr;
..............
void CSTL1Dlg::AddElem()
{
stlstruct addtemp;
addtemp.str1 = "string1";
addtemp.num = 1;
vStlStr.push_back (addtemp);
}
...............
void CSTL1Dlg::OnClear()
{
vStlStr.clear ();
}
Все работает нормально. Но в структуре есть член rrr[1000000]
Так вот при каждом добавлении в вектор "push_back (addtemp)" в диспетчере задач видно, память, которую жрет прога
увеличивается грубо на 1 кб.
А если сделать vStlStr.clear ();, то в диспетчере видно, что память, занимаемая прогой не освобождается.
Что делать: — 1) я чего то упустил в данном примере
2) начать изучать аллокаторы (хотя я пока смутно представляю, зачем они нужны)
3) говорить что кривой диспетчер
спасибо.