TIL
[C++] vector.size()는 unsigned 이다.
독서왕뼝아리
2023. 3. 24. 00:08
vector v의 사이즈가 4이고 k가 10일 때 (v.size() - k > 0) 조건이 계속 참이 나왔다. 왜 그러나 (v.size() - k) 를 콘솔에 찍어보니 쓰레기 값이 나왔다.....
쓰레기 값을 30초 들여다보니 아차 싶더라.
v.size() 는 양수만 취급한다.
size가 음수일리는 없으니 signed 자료형으로 개발했나보다. C만든 사람들 꽤나 직관적이다.
unsigned : 양수만 표현 가능 (0 ~ 2^32-1)
signed : 맨 앞 비트로 양수/음수를 분별한다. (-2^31 ~ 2^31-1)
signed int가 기본형이라 너무 당연하게 v.size()가 음수 표현이 안 될 것이란 생각을 못했다.

바보..........