다음을 통해 공유


basic_string 클래스

템플릿 클래스 basic_string의 개체에 의해 제어되는 시퀀스는 표준 C++ 문자열 클래스로 보통 문자열이라고 합니다. 이러한 문자열을 표준 C++ 라이브러리 전체에서 사용되는 null로 종료되는 C 스타일 문자열과 혼동해서는 안 됩니다. 표준 C++ 문자열은 비교/연결 작업, 반복기, STL 알고리즘, 클래스 할당자 관리 메모리 복사/할당 등의 일반 형식으로 문자열을 사용할 수 있는 컨테이너입니다. 표준 C++ 문자열을 null로 종료되는 C 스타일 문자열로 변환해야 하는 경우에는 basic_string::c_str 멤버를 사용합니다.

template <class CharType, class Traits = char_traits<CharType>, class Allocator = allocator<CharType>> class basic_string;

매개 변수

  • CharType
    문자열에 저장되는 단일 문자의 데이터 형식입니다. 표준 C++ 라이브러리는 char 형식 요소의 경우 string, wchar_t의 경우 wstring, char16_t의 경우 u16string, char32_t의 경우 u32string 형식 정의를 사용하여 이 템플릿 클래스를 특수화하는 기능을 제공합니다.

  • Traits
    Traits 클래스를 통해 basic_string 특수화 내 CharType 요소의 여러 중요 속성을 설명합니다. 기본값은 char_traits<CharType>입니다.

  • Allocator
    문자열의 메모리 할당 및 할당 취소에 대한 세부 정보를 캡슐화하는 저장된 할당자 개체를 나타내는 형식입니다. 기본값은 allocator<CharType>입니다.

생성자

basic_string

비어 있거나 특정 문자로 초기화된 문자열 또는 다른 문자열 개체나 C 문자열 일부 또는 전체의 복사본인 문자열을 생성합니다.

형식 정의

allocator_type

문자열 개체의 allocator 클래스를 나타내는 형식입니다.

const_iterator

문자열의 const 요소 하나를 액세스하고 읽을 수 있는 임의 액세스 반복기를 제공하는 형식입니다.

const_pointer

문자열에서 const 요소에 대한 포인터를 제공하는 형식입니다.

const_reference

const 작업을 읽고 수행하기 위해 문자열에 저장된 const 요소에 대한 참조를 제공하는 형식입니다.

const_reverse_iterator

문자열의 모든 const 요소를 읽을 수 있는 임의 액세스 반복기를 제공하는 형식입니다.

difference_type

동일한 문자열 내의 요소를 참조하는 두 반복기 사이의 차이를 제공하는 형식입니다.

iterator

문자열에 있는 모든 요소를 읽거나 수정할 수 있는 임의 액세스 반복기를 제공하는 형식입니다.

npos

검색 함수에서 오류가 발생할 때 "not found" 또는 "all remaining characters"를 나타내는 -1로 초기화된 부호 없는 정수 값입니다.

포인터

문자열 또는 문자 배열의 문자 요소에 대한 포인터를 제공하는 형식입니다.

참조

문자열에 저장된 요소에 대한 참조를 제공하는 형식입니다.

reverse_iterator

역방향 문자열에 있는 모든 요소를 읽거나 수정할 수 있는 임의 액세스 반복기를 제공하는 형식입니다.

size_type

문자열의 요소 수에 대한 부호 없는 정수 형식입니다.

traits_type

문자열에 저장된 요소의 문자 특성 형식입니다.

value_type

문자열에 저장된 문자의 형식을 나타내는 형식입니다.

멤버 함수

append

문자열 끝에 문자를 추가합니다.

assign

문자열의 내용에 새 문자 값을 할당합니다.

at

문자열의 지정된 위치에 있는 요소에 대한 참조를 반환합니다.

back

begin

문자열의 첫 번째 요소 주소를 지정하는 반복기를 반환합니다.

c_str

문자열의 내용을 C 스타일의 null로 종료되는 문자열로 변환합니다.

capacity

문자열의 메모리 할당을 늘리지 않고도 문자열에 저장할 수 있는 요소의 최대 수를 반환합니다.

cbegin

문자열의 첫 번째 요소 주소를 지정하는 const 반복기를 반환합니다.

cend

문자열에서 마지막 요소 다음에 나오는 위치를 주소 지정하는 const 반복기를 반환합니다.

clear

문자열의 모든 요소를 지웁니다.

compare

문자열을 지정된 문자열과 비교하여 두 문자열이 같은지 아니면 한 문자열이 다른 문자열보다 사전순으로 더 작은지를 확인합니다.

copy

소스 문자열의 인덱싱된 위치에서 지정한 수까지의 문자를 대상 문자 배열에 복사합니다. 더 이상 사용되지 않습니다. 대신 basic_string::_Copy_s를 사용하십시오.

crbegin

역방향 문자열에서 첫 번째 요소의 주소를 지정하는 const 반복기를 반환합니다.

crend

역방향 문자열에서 마지막 요소 다음에 나오는 위치의 주소를 지정하는 상수 반복기를 반환합니다.

_Copy_s

소스 문자열의 인덱싱된 위치에서 지정한 수까지의 문자를 대상 문자 배열에 복사합니다.

data

문자열의 내용을 문자 배열로 변환합니다.

empty

문자열에 문자가 있는지 테스트합니다.

end

문자열에서 마지막 요소 다음에 나오는 위치의 주소를 지정하는 반복기를 반환합니다.

erase

문자열에서 지정된 위치의 요소 또는 요소 범위를 제거합니다.

find

문자열에서 지정된 문자 시퀀스와 일치하는 첫 번째 하위 문자열을 정방향으로 검색합니다.

find_first_not_of

문자열에서 지정된 문자열의 요소가 아닌 첫 번째 문자를 검색합니다.

find_first_of

문자열에서 지정된 문자열의 요소와 일치하는 첫 번째 문자를 검색합니다.

find_last_not_of

문자열에서 지정된 문자열의 요소가 아닌 마지막 문자를 검색합니다.

find_last_of

문자열에서 지정된 문자열의 요소인 마지막 문자를 검색합니다.

front

문자열의 첫 번째 요소에 대한 참조를 반환합니다.

get_allocator

문자열을 생성하는 데 사용된 allocator 개체의 복사본을 반환합니다.

insert

요소 하나 또는 여러 개나 요소의 범위를 문자열의 지정된 위치에 삽입합니다.

length

문자열의 현재 요소 수를 반환합니다.

max_size

문자열이 포함할 수 있는 최대 문자 수를 반환합니다.

pop_back

문자열의 마지막 요소를 지웁니다.

push_back

문자열 끝에 요소를 추가합니다.

rbegin

역방향 문자열에서 첫 번째 요소의 주소를 지정하는 반복기를 반환합니다.

rend

역방향 문자열에서 마지막 요소 바로 다음을 가리키는 반복기를 반환합니다.

replace

문자열에서 지정된 위치의 요소를 다른 범위 또는 문자열이나 C 문자열에서 복사한 문자 또는 지정된 문자로 바꿉니다.

reserve

문자열의 용량을 최소한 지정된 숫자보다 크게 설정합니다.

resize

문자열의 새 크기를 지정하고 필요에 따라 요소를 추가하거나 지웁니다.

rfind

문자열에서 지정된 문자 시퀀스와 일치하는 첫 번째 하위 문자열을 역방향으로 검색합니다.

shrink_to_fit

문자열의 초과 용량을 삭제합니다.

size

문자열의 현재 요소 수를 반환합니다.

substr

지정된 위치부터 시작하여 문자열의 하위 문자열을 최대 특정 문자 수만큼 복사합니다.

스왑

두 문자열의 내용을 교환합니다.

연산자

operator +=

문자열에 문자를 추가합니다.

연산자 =

문자열의 내용에 새 문자 값을 할당합니다.

operator[]

문자열에서 지정된 인덱스에 있는 문자에 대한 참조를 제공합니다.

설명

함수는 max_size 요소보다 긴 시퀀스를 생성하라는 요청을 받으면 length_error 형식의 개체를 throw하여 길이 오류를 보고합니다.

제어되는 시퀀스의 요소를 지정하는 참조, 포인터 및 반복기는 제어되는 시퀀스를 변경하는 함수를 호출하거나 const가 아닌 멤버 함수를 처음 호출하고 나면 유효하지 않은 상태가 될 수 있습니다.

요구 사항

헤더: <string>

네임스페이스: std

참고 항목

참조

<string>

C++ 표준 라이브러리의 스레드 보안