upper_bound
컨테이너에서 지정된 키보다 큰 값을 가진 키가 포함된 첫 번째 요소에 대한 it를 반환합니다.
라이브러리를 사용하다보면 hpp 파일이 자주 보입니다. 이 파일은 무엇일까요?
C++의 STL 컨테이너들은 Iterator(반복자)를 통해서 내부에 있는 데이터의 한 위치를 가리킬 수가 있습니다.
Iterator는 for 문을 돌리거나 STL이 제공하는 알고리즘을 실행할 때 사용하게 됩니다.
begin(), end()는 순방향으로 움직일 때 사용하며, rbegin(), rend()는 역방향으로 움직일 때 사용합니다.
캐스트는 자료형간 또는 포인터간 형변환시 사용됩니다.
캐스트는 크게 묵시적 캐스트(implicit cast)와 명시적 캐스트(explicit cast) 두 가지로 나눌 수 있습니다.
특별히 캐스트 연산자를 사용하지 않고 형변환이 이루어지는 경우를 “묵시적 캐스트” 라고 합니다.
int i = 10;
char c = i; // 묵시적 캐스트
char c = (char) i; // 명시적 캐스트 (c-style)
char c = static_cast<char>(i) // C++ style
둘 다 컨테이너에 데이터를 삽입 하는 행위이나 차이가 있습니다.
Insert로 삽입 시 Map의 경우 std::make_pair를 이용해야하며, emplace는 간단하게 삽입이 가능하며, 내부 동작 또한 다릅니다.