miscellaneous : <사물 등이> 형형색색의 (것으로 이루어진), 갖가지 잡다한, 잡동사니의 특별히 위치할 곳이 없는 정보들의 페이지. 쌓여서 분리됩니다. ---- = 원하는 값 삭제하기 = * 어떤 컨테이너가 int값들을 담고 있다고 하자. 거기서 1982 라는 숫자를 몽땅 지워주고 싶다면? * Contiguous-memory container 일때 {{{~cpp c.erase( remove(c.begin(), c.end(), 1982), c.end() ); // 이건 내부적으로 어떻게 돌아가는 걸까. 찾아봐야겠군. }}} * list일때 - erase 써도 되지만 remove가 더 효율적이다. {{{~cpp c.remove(1982); }}} * Associative container 일때 - remove쓰면 난리난다.(없으니깐--;) 또 제네릭 알고리즘 remove도 역시 안된다. 컨테이너가 망가질수도 있다. {{{~cpp c.erase(1982); }}} = 파일 읽어 오기 = {{{~cpp // ints.dat 에서 정수들을 읽어와 list에 저장해줌 ifstream dataFile("ints.dat"); ifstream_iterator dataBegin(dataFile); ifstream_iterator dataEnd; list data(dataBegin, dataEnd); // 요런식으로 써주자. }}} = 주의사항 = * 컨테이너를 아무거나 쓰면 안된다. 가장 최적화된 자료구조를 생각해서 써야한다. * vector 이런식으로 동적 생성하는 객체의 레퍼런스를 위한 포인터를 컨테이너에 넣을때는 추후 포인터가 가리키는 객체를 직접 delete 해줘야 한다. ---- ["STL"]