string::size_type
string
의 동반 타입으로 string.size()
연산 결과를 저장하는데 사용하는 변수
string line("Hello");
auto len = line.size(); // len은 string::size_type 타입이다.
decltype(line.size()) len2; // len2는 string::size_type 타입이다.
size
에서는 부호없는 타입을 반환하므로, 표현식에서 부호 있는 데이터와 부호 없는 것을 섞어 쓰면 위험할 수 있다.
범위 for
을 사용해 string
내 문자 접근하기
string
내 문자 값을 범위 for
을 사용하여 접근할 경우 루프 변수를 참조자 타입으로 정의해야 한다.
string line("Hello World!!!");
// line을 대문자로 변환한다.
for(char &c : line) // line 내 모든 char에 대해 참조
{
c = toupper(c); // c는 참조자이므로 대입하면 line내 char을 변경한다.
}