강의

멘토링

커뮤니티

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

choiiohc1님의 프로필 이미지
choiiohc1

작성한 질문수

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

14.4 exception 소개

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

해결된 질문

작성

·

322

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
질문자

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

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

choiiohc1님의 프로필 이미지
choiiohc1

작성한 질문수

질문하기