vector Typevector Operations범위 기반 for문 사용
vector<int> v{1,2,3,4,5,6,7,8,9};
for (auto &i : v) // i는 v의 각 원소에 대한 참조
i *= i; // 각 원소를 제곱
for (auto i : v)
cout << i << " "; // 제곱된 원소 출력
cout << endl;
empty()와 size() 멤버
empty() : 벡터가 비어 있으면 true 반환size() : 원소의 개수 반환vector<int>::size_type 사용 가능 (정확한 타입 지정 필요)비교 연산자
==, !=, <, <=, >, >= 모두 지원push_back첨자(subscript)로는 새 원소를 추가할 수 없다.
vector<int> ivec;
for (decltype(ivec.size()) ix = 0; ix != 10; ++ix)
ivec[ix] = ix; // ❌ 오류: ivec에는 원소가 없음
push_back을 사용해야 함
for (decltype(ivec.size()) ix = 0; ix != 10; ++ix)
ivec.push_back(ix); // ✅ 새로운 원소를 추가
vector 연산 요약| 연산 | 설명 |
|---|---|
v.empty() |
비어 있으면 true 반환 |
v.size() |
원소 개수 반환 |
v.push_back(t) |
t를 벡터 끝에 추가 |
v[n] |
n번째 원소 참조 |
v1 = v2 |
복사 대입 |
v1 == v2 |
같은 크기이며 원소가 같으면 true |
<, <=, >, >= |
사전식 비교 수행 |
모든 컨테이너는 iterator를 제공하며, 일부만 subscript 연산 가능.
begin() → 첫 원소를 가리키는 반복자
end() → 마지막 원소의 다음을 가리키는 반복자
auto b = v.begin(), e = v.end();
역참조(dereference) 를 통해 원소 접근
string s("some string");
if (s.begin() != s.end()) {
auto it = s.begin();
*it = toupper(*it); // 첫 문자 대문자로 변환
}