-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
[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);
}
}
답변을 작성해보세요.
0
홍정모
지식공유자2021.03.18
아래 글 참고하세요.
https://stackoverflow.com/questions/4849632/vectorintsize-type-in-c
choiiohc1
질문자2021.03.22
답변감사합니다. 아래처럼 string의 size_type을 찍어보고 unsigned int 임을 알 수 있었습니다.
std::cout << typeid(std::string::size_type).name() << std::endl;
답변 1