• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

[2:40] string 에 대해 음수로 resize 하는 경우

21.03.17 21:10 작성 조회수 175

0

강의에서와 같이 -1로 resize를 하면 "string too long" 라고 exception이 출력됩니다.

관련하여 본 강의에 대해 질문 및 답변 내용을 보면 함수의 parameter가 unsigned 라서 그렇다는 등의 내용이 있는데 이 내용을 어떻게 확인할 수가 있나요? 

제가 resize 함수의 정의에 가서 본 내용에서는 아래의 내용인데 관련된 힌트를 얻을 수가 없네요, 관련하여 조언주시면 감사하겠습니다!

void resize(_CRT_GUARDOVERFLOW const size_type _Newsize, const _Elem _Ch = _Elem())
		{	// determine new length, padding with _Ch elements as needed
		const size_type _Old_size = size();
		if (_Newsize <= _Old_size)
			{
			_Eos(_Newsize);
			}
		else
			{
			append(_Newsize - _Old_size, _Ch);
			}
		}

답변 1

답변을 작성해보세요.

0

아래 글 참고하세요.

https://stackoverflow.com/questions/4849632/vectorintsize-type-in-c

choiiohc1님의 프로필

choiiohc1

질문자

2021.03.22

답변감사합니다. 아래처럼 string의 size_type을 찍어보고 unsigned int 임을 알 수 있었습니다.

std::cout << typeid(std::string::size_type).name() << std::endl;