[c++] std::vector

1. 두 벡터 합치기

std::vector<int> A = { 1,2,3 };
std::vector<int> B = { 4,5,6 };
std::vector<int> AB;
AB.reserve( A.size() + B.size() ); // preallocate memory
AB.insert( AB.end(), A.begin(), A.end() );
A = 1 2 3 4 5 6

2. B 벡터를 A에 붙이기

std::vector<int> A = { 1,2,3 };
std::vector<int> B = { 4,5,6 };
A.reserve(A.size() + B.size());
A.insert(A.end(), B.begin(), B.end());
A = 1 2 3 4 5 6

3. 특정 값들 제거하기.

std::vector<int> A = {1,2,3,4,5,6,7,8};
A.erase(std::remove_if(A.begin(), A.end(), [](int& e)->bool {
			return e%2==0;
}), A.end());
A = 1 3 5 7

C++14 부터는 람다인수에 auto를 넣는것이 가능해진다.
VC14 부터 지원되고 g++ 은 -std=c++14 옵션을 넣으면 된다.

4. 중복값 제거하기.

std::vector<int> A = {2,3,2,3,1,4,1,4};
std::sort( A.begin(), A.end() );
A.erase( std::unique( A.begin(), A.end() ), A.end() );
A = 1 2 3 4