들어가면서
C에서는 문자열 상수를 선언할 때 꼭 배열의 길이를 지정해야만 하였다.
하지만, C++에서는 새로운 string 자료형을 사용하면 문자열 길이를 지정할 필요 없이 자동으로 지정하게 된다.
(참고로 더 정확히 말하자면 string은 기본타입이 아닌 클래스이다. 편의상 string 자료형이라고 설명하겠다.)
이러한 편리한 string 자료형에 대해 이번 글을 시작해보겠다.
string자료형의 특징 알아보기
C에서는 문자 상수와 문자열 상수를 각각 따로 선언을 하였다면, C++에서는 string 자료형 하나만으로 문자 상수 또는 문자열 상수를 한 번에 선언할 수 있다.
또한, string 자료형은 변수 선언시 작은 따옴표('')를 사용하지 않고 모두 큰따옴표("")를 사용하는게 특징이다.
더불어, string 자료형은 배열의 길이를 지정하지 않는다.
string 변수명 = "문자 또는 문자열" : string형 변수 선언하기
string 자료형 변수 선언은 C에서의 변수 선언보다 매우 직관적이다.
저장할 문자 또는 문자열(이하 문자열)을 큰 따옴표로 감싸주기만 하면 끝이다.
#include <iostream>
using namespace std;
int main(void)
{
string a;
a = "abcd";
cout << a << endl;
return 0;
}
#include <iostream>
using namespace std;
int main(void)
{
string a;
cout << "문자 또는 문자열 입력 : ";
cin >> a; //자동으로 문자열 길이를 지정한다.
cout << a << endl;
return 0;
}
length() 메서드: string형의 문자열 길이 리턴
string형 변수는 따로 문자열의 길이를 지정하지 않고 선언하기 때문에, 문자열의 길이는 length() 메서드를 사용하여 구할 수 있다.
#include <iostream>
using namespace std;
int main(void)
{
string str = "Happy New Year";
cout << str.length() << endl; //14
return 0;
}
※메서드란?
메서드는 해당 객체에 속한 함수를 의미한다. 메서드의 다른 이름은 멤버함수이며, class 문법에서 등장한다.
위 예제에서 length() 메서드는 string class 속한 함수들 중 하나이며, str 객체를 통해 해당 함수를 사용할 수 있게 된다.
'C++' 카테고리의 다른 글
C++ : static_cast<자료형>(변수) (0) | 2023.12.19 |
---|---|
C++ : 오버플로우(overflow)와 언더플로우(underflow) 이해하기 (0) | 2023.12.19 |
C++ : std::numeric_limits<자료형>::멤버함수() (0) | 2023.12.19 |
C++ : printf, scanf 함수 대신 cout, cin 객체로 입출력하기 (0) | 2023.11.22 |
구글 Colab에서 C/C++언어 시작하기 (1) | 2023.10.31 |