const std::string::size_type cols = greeting.size();
위 구문(statement)은 cols 라는 변수를 std::string 클래스가 제공하는
string 이 담을 수 있는 최대 문자 개수를 저장할 수 있는 적절한 타입인 size_type 으로 정의한다.
왜 int 형을 사용하지 않고 string 클래스가 제공하는 size_type 을 사용하는 것일까?
그것은 cols 가 (string 형의 객체인) greeting 의 문자 개수가 얼마나 커지든 간에 상관없이
그 값을 저장할 수 있도록 하기 위한것이다.
cols 의 값은 greeting 의 길이에 좌우되는데
만일 greeting 이 사용자에게서 문자열을 입력받는다면,
특정 사용자가 int 형으로 표현 가능한 길이 보다 더욱 긴 문자열을
greeting 의 입력으로 주었을때
int 형으로 정의한 cols 는 그 길이를 감당할 수 없게 된다.
이처럼 라이브러리가 특정 목적에 부합되도록
미리 정의한 타입을 사용하는 것이 좋은 습관이라고 accelerated c++ 에서는 말하고 있다.
위 구문(statement)은 cols 라는 변수를 std::string 클래스가 제공하는
string 이 담을 수 있는 최대 문자 개수를 저장할 수 있는 적절한 타입인 size_type 으로 정의한다.
왜 int 형을 사용하지 않고 string 클래스가 제공하는 size_type 을 사용하는 것일까?
그것은 cols 가 (string 형의 객체인) greeting 의 문자 개수가 얼마나 커지든 간에 상관없이
그 값을 저장할 수 있도록 하기 위한것이다.
cols 의 값은 greeting 의 길이에 좌우되는데
만일 greeting 이 사용자에게서 문자열을 입력받는다면,
특정 사용자가 int 형으로 표현 가능한 길이 보다 더욱 긴 문자열을
greeting 의 입력으로 주었을때
int 형으로 정의한 cols 는 그 길이를 감당할 수 없게 된다.
이처럼 라이브러리가 특정 목적에 부합되도록
미리 정의한 타입을 사용하는 것이 좋은 습관이라고 accelerated c++ 에서는 말하고 있다.
댓글
댓글 쓰기