reference:
"명품 C++ Programming" / 황기태
"전문가를 위한 C++" / 마크 그레고리
c++에서 문자열을 다루는 두 번째 방법은 c++ 표준 라이브러리에서 제공하는 string 클래스를 사용하는 방법이다.
C-string 방법은 배열의 크기에 의해 문자열이 고정되는 불편함이 있지만, string 클래스는 문자열의 크기에 제약이 없다(크기가 가변적).
string 클래스를 이용하는 방법은 객체 지향적일 뿐 아니라, C-string 방식보다 문자열을 다루기 쉽다. 그 이유는 string 클래스는 문자열 복사, 비교, 수정 등 다양한 문자열 연산을 위한 멤버 함수와 연산자를 제공하므로, 응용 프로그램은 string 객체를 생성하여 쉽게 문자열을 다룰 수 있다.
#include <iostream> // cout, endl
#include <string> // string 클래스
using namespace std;
int main(){
string song("Fallig in love");
stirng elvis("Elvis Presley");
string singer;
cout << song + "를 부른 가수는? "; // + 로 문자열 연결
cout << "힌트: 첫 글자는 " << elvis[0] << endl; // [] 연산자 사용
getline(cin, singer); // 문자열 입력
// getline()은 string 타입의 c++ 문자열을 입력 받기 위해 제공되는 "전역 함수"
if(singer == elvis) // 문자열 비교 (== 연산자 오버로딩)
cout << "Yes" << endl;
else
cout << "No" << endl;