A. 모던 C++
1. std::string
a. C 스타일의 문자열의 한계점
만약 아래와같이 같은 문자를 비교하는 코드를 작성한다면
또한 문자열을 복사하거나 수정하면 특정 함수를 사용해서 이용해야 함
➡ 사용성이 안좋음
b. std::string
🌟 C++ 표준 라이브러리에서 제공하는 문자열 클래스
- 가변 길이 문자열: 문자열의 길이가 동적으로 조정되는 가변 길이의 문자열을 저장
- 문자열 조작: 문자열을 수정하고 조작하는 다양한 멤버 함수들을 제공. ex) 결합, 분할, 삽입, 제거, 변경
- 편리한 접근: 인덱스 기반 접근을 지원하여 특정 위치의 문자에 쉽게 접근가능
- null 종료 문자열 아님: null 종료 문자열(null-terminated string)이 아니여서 문자열 안에 null 문자('\0')가 포함될 수 있음
- 표준 입출력 지원: std::string 객체는 표준 입출력 객체(std::cin 및 std::cout)와 함께 사용할 수 있음
⏳ 예제
#include <iostream>
#include <string>
int main() {
// 문자열 생성
std::string str = "Hello, world!";
std::string str2 = "Hello, world!";
// 문자열 비교
if(str == str2){}
// 문자열 복사
string str3
str3 = str; //원본 영향 X
//문자열 찾기
auto c = str.find("Roo");
if( c == std::string::npos){
cout << "not found" ;
}
// 문자열 길이
std::cout << "Length of string: " << str.length() << std::endl;
// 문자열 접근
std::cout << "First character: " << str[0] << std::endl;
// 문자열 결합
std::string greeting = "Hello";
std::string name = "Alice";
std::string message = greeting + ", " + name + "!";
std::cout << "Message: " << message << std::endl;
// 문자열 입력
std::cout << "Enter your name: ";
std::cin >> name;
std::cout << "Hello, " << name << "!" << std::endl;
return 0;
}
'프로그래밍 언어 > C++' 카테고리의 다른 글
[게임 프로그래머 입문 올인원] 모던 C++ : 오른값 참조 (82강) (0) | 2024.03.30 |
---|---|
[게임 프로그래머 입문 올인원] 모던 C++ : 멀티바이트와 유니코드(81강) (0) | 2024.03.30 |
[게임 프로그래머 입문 올인원] STL Algorithms : 기본정렬 (78강) (0) | 2024.03.28 |
[게임 프로그래머 입문 올인원] STL Algorithms : 람다식 (77강) (0) | 2024.03.28 |
[게임 프로그래머 입문 올인원] STL Algorithms : 기본 알고리즘(76강) (0) | 2024.03.27 |