• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

23.02.06 18:58 작성 23.02.07 17:56 수정 조회수 299

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;

}

 

김범준님의 프로필

김범준

질문자

2023.02.08

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

0

강민철님의 프로필

강민철

2023.02.07

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

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