C++ map/vector

2022. 3. 1. 14:51Programming

    목차
반응형

map 선언 및 값 추가 

std::map<std::string, int> tbl;

tbl["key1"] = 0;
tbl["key2"] = 1;

map에서 값 찾기 및 제거

auto iter = tbl.find("key1");

if (iter != tbl.end()) {
    tbl.erase(iter);
}

// or 

if (tbl.contain("key1")) {
    count<<"exist"<<"key1"<<endl;
}

map의 iteration

auto iter = tbl.begin();

for (; iter != tbl.end(); ++iter) {
    cout<<iter->first<<", "<<iter->second<<endl;
}


for (const auto& [key, value]: tbl) {
    cout<<key<<", "<<value<<endl;
}

 

vector의 값 추가

std::vector<int> v;

v.push_back(1);
v.push_back(2);

v.insert(v.begin(), 3);  // insert 3 at first

vector 값 삭제

v.pop_back();

v.erase(v.begin() + 1); // remove at index 1
v.erase(v.begin(), v.begin() + 2); // remove items at 0 ~ 2

v.clear();

vector의 값 순회

for (auto iter = v.begin(); iter != v.end(); ++iter) {
    cout<<*iter<<endl;
}

for (auto iter = std::begin(v); iter != std::end(v); ++iter) {
    cout<<*iter;
}

for (const auto& item: v) {
    cout<<item;
}

for (auto i = 0; i < v.size(); ++i) {
    cout<<v[i];
}

 

vector의 반대 방향 순회

for (auto iter = v.rbegin(); iter != v.rend(); ++iter) {
    cout<<*iter<<endl;
}

 

반응형

'Programming' 카테고리의 다른 글

맥에서 boost 설치 및 위치 확인  (0) 2022.09.22
gtest 사용  (0) 2022.09.21
Rust (러스트)  (0) 2022.01.09
안드로이드 스튜디오 설치 (Android Stuido)  (0) 2021.12.23
도대체 임베디드가 뭔가요? (embbedded system)  (0) 2021.12.19