인프런 커뮤니티 질문&답변
string length
작성
·
191
1
string a("Hello, World");
cout << a.length() << endl;
이렇게 하면 12가 나오는데
여기서 12는 빈칸(Hello, 와 World 사이에 있는 것)이 포함된 건가요 아님 World뒤에 있는 nullptr이 포함되어서 12인가요?
Hello,는 6글자 World는 5글자인데 12가 나온 게 헷갈려서요..
답변 1
1
안녕하세요, 답변 도우미 Soobak 입니다.
공백 문자가 포함된 것입니다.
C++ 에서 string 객체의 length() 멤버 함수를 사용할 때 반환되는 값은 문자열의 실제 길이입니다.
이 길이에는 문자열의 모든 문자가 포함되며, 여기에는 공백 문자(space, ASCII 코드 값 32)도 포함됩니다.
하지만, 널 문자('\0')는 포함되지 않습니다.
추가적으로, 질문에서 말씀하신 nullptr 과 널 문자 ('\0')는 다릅니다.





