unsigned1 [C++] vector.size()는 unsigned 이다. 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()가 음수 표현이 안 될 것이란 생각을 못했다. 바보.......... 2023. 3. 24. 이전 1 다음