vector에서 for문을 돌리는데는
#include <iostream>
#include <vector>
int main() {
std::size_t n;
std::cin >> n;
std::vector<int> numsA(n, 1);
std::vector<int> numsB(n, 1);
std::vector<int> numsC(n, 1);
for (std::size_t idx=0; idx < numsA.size(); idx++) {
numsA[idx]
}
for (auto itr=numsB.begin(); itr != numsB.end(); itr++) {
(*itr) *= 2;
}
for (auto & num : numsC) {
num *= 2;
}
}
인덱스 for문은 vector객체의 size를 이용하고
이터레이터 for문은 힙의 원소의 end()인지 확인하는 방법이다.
반드시 idx형식의 for문을 돌려야할 때가 있는데
위와 같이 emplace_back을 하게되면
저번에 말했던 것과 같이
힙에 저장해뒀던 배열 뒤에 다른 정보가 있어 새로 copy한 뒤 추가해야하는 경우가 있다
이럴 땐 이터레이터가 없어져야할 기존 배열을 가리켜 이상하게 동작하는 경우가 있다.