강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김범준님의 프로필 이미지
김범준

작성한 질문수

홍정모의 따라하며 배우는 C++

14.4 exception 소개

too long이 나오는 이유 그냥...

작성

·

657

·

수정됨

0

언더플로우 일어난거 아닌가요?

이 부분 입니다!

답변 2

1

홍정모님의 프로필 이미지
홍정모
지식공유자

맞습니다. 다른 학생분들 질문 보시면 unsigned 라는 것을 확인해보신 분들이 계신데 같은 얘깁니다.

 

#include <iostream>

#include <string>

int main ()

{

std::string str ("Test string");

std::cout << "size: " << str.size() << "\n";

std::cout << "length: " << str.length() << "\n";

std::cout << "capacity: " << str.capacity() << "\n";

std::cout << "max_size: " << str.max_size() << "\n"; <- 스트링이 가질 수 있는 가장 큰 크기

std::cout << size_t(-1) - str.max_size() << std::endl; // 13835058055282163712, 즉 스트링이 가질 수 있는 가장 큰 크기 보다 더 큰 값으로 요청했기 때문에 문제가 발생

return 0;

}

 

김범준님의 프로필 이미지
김범준
질문자

헉 감사합니다 unsigned여서 음수가 안되니까 언더플로우...넵!

0

어떤 상황에서의 질문인가요?

궁금하신 문제 상황이 무엇인지 코드 혹은 오류 메세지를 보여주시면 좋을 듯 합니다 :)

김범준님의 프로필 이미지
김범준

작성한 질문수

질문하기