[c++] 컨테이너 용도 및 적합성 고려 사항

C++에는 다양한 컨테이너가 있으며, 각각의 컨테이너는 특정한 용도와 적합성을 가지고 있습니다. 이에 대해 알아보고자 합니다.

목차

시퀀스 컨테이너

시퀀스 컨테이너는 데이터를 선형적으로 저장하는 컨테이너로, 데이터의 순서가 중요한 경우에 사용됩니다. 보통 배열과 유사한 사용 방식을 가지며, 다양한 연산을 수행할 수 있습니다. std::vectorstd::list가 이에 속합니다.

#include <vector>
#include <list>

int main() {
    std::vector<int> vec {1, 2, 3, 4, 5};
    std::list<int> lst {1, 2, 3, 4, 5};
}

연관 컨테이너

연관 컨테이너는 데이터를 특정 기준에 따라 조직화하여 저장하는 컨테이너로, 검색이나 정렬이 필요한 경우에 사용됩니다. std::set, std::map 등이 이에 해당합니다.

#include <set>
#include <map>

int main() {
    std::set<int> s {4, 1, 3, 2, 5};
    std::map<int, std::string> m {{1, "one"}, {2, "two"}};
}

컨테이너 용도별 적합성

적합한 컨테이너를 선택하는 데에는 몇 가지 고려해야 할 사항이 있습니다. 메모리 사용량, 데이터 삽입/삭제의 빈도, 데이터 접근 방식 등을 고려하여 적합한 컨테이너를 선택해야 합니다.

따라서, 실제 프로그램의 요구 사항과 데이터 특성에 맞춰서 컨테이너를 선택하는 것이 중요합니다.

이상으로 C++ 컨테이너의 용도와 적합성에 대해 알아보았습니다.