- Content
VC++은 연관 컨테이너인 set과 map에서 iterator 변수가 begin()인 시작 iterator를 가지고 있을때, -- 연산자를 하게되면 end() 로 가게된다.
GCC는 end()가 아닌 바로 그 전의 주소값을 접근한다. (잘못된 메모리 접근)
- Ex
std::set<int> s;
std::map<int, int> m;
bool sb = false;
bool mb = false;
s.insert(2);
s.insert(3);
auto iter1 = s.begin();
iter1--;
sb = iter1 == s.end();
m[1] = 2;
m[2] = 3;
auto iter2 = m.begin();
iter2--;
mb = (iter2 == m.end())
댓글 없음:
댓글 쓰기