共用方式為


basic_string 類別

由範本類別 basic_string 的物件控制的序列為標準 C++ 字串類別,且通常稱為字串,但它們不應該和標準 C++ 程式庫中所使用之以 Null 結束的 C 樣式字串混淆。 標準 C++ 字串是一個容器,讓字串用做為標準類型,例如比較和串連運算、迭代器、STL 演算法,以及使用類別配置器 Managed 記憶體進行複製和指派。 如果您需要將標準 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
    basic_string 特製化中,CharType 元素的各種重要屬性均描述於 Traits 類別中。 預設值是 char_traits<CharType>。

  • Allocator
    代表預存配置器物件的類型,封裝有關字串之記憶體配置和解除配置的詳細資訊。 預設值是 allocator<CharType>。

建構函式

basic_string

建構空的或由特定字元初始化的字串,或為其他字串物件的所有或部分複本的字串,或 C 字串。

Typedef

allocator_type

類型,表示字串物件的 allocator 類別。

const_iterator

類型,提供可以存取和讀取字串中 const 元素的隨機存取迭代器。

const_pointer

類型,提供字串中 const 元素的指標。

const_reference

類型,提供儲存在字串中供讀取和執行 const 作業之 const 元素的參考。

const_reverse_iterator

類型,提供可以讀取字串中任何 const 元素的隨機存取迭代器。

difference_type

類型,提供兩個指出相同字串內之元素的迭代器間的差異。

迭代器

類型,提供可以讀取或修改字串中之任何元素的隨機存取迭代器。

npos

搜尋函式失敗時不帶正負號整數值初始化為 –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

傳回定址反轉字串中最後一個元素的下一個位置的 const 迭代器。

_Copy_s

從來源字串中的索引位置,最多複製指定的字元數到目標字元陣列。

data

將字串的內容轉換成字元的陣列。

空的

測試字串是否包含字元。

end

傳回定址字串中最後一個元素的下一個位置的迭代器。

erase

從指定位置移除字串中的某個元素或某個元素範圍。

find

以正向方向搜尋字串中,第一個符合指定之字元序列的子字串。

find_first_not_of

搜尋字串中,不是指定字串之任何元素的第一個字元。

find_first_of

搜尋字串中,符合指定字串之任何元素的第一個字元。

find_last_not_of

搜尋字串中,不是指定字串之任何元素的最後一個字元。

find_last_of

搜尋字串中,是指定字串之元素的最後一個字元。

front

傳回字串中第一個元素的參考。

get_allocator

傳回用來建構字串的 allocator 物件複本。

insert

將某個元素或一些元素或某個元素範圍,插入字串的指定位置。

長度

傳回字串中目前的元素數目。

max_size

傳回字串中可能包含的字元數上限。

pop_back

清除字串的最後一個元素。

push_back

將元素加入至字串結尾。

rbegin

傳回指向反轉字串中第一個元素的迭代器。

rend

傳回指向反轉字串中最後一個元素後方的迭代器。

replace

使用指定的字元,或從其他範圍或字串或 C 字串複製的字元,取代位於字串中指定位置的元素。

reserve

將字串的容量數字,設定為至少和指定的數字一樣大。

resize

指定字串的新大小,視需要附加或清除元素。

rfind

以向後方向搜尋字串中,第一個符合指定之字元序列的子字串。

shrink_to_fit

丟棄多餘的字串容量。

大小

傳回字串中目前的元素數目。

substr

從開始於指定位置的字串,複製最多一定字元數量的子字串。

交換

交換兩個字串的內容。

運算子

operator+=

將字元附加至字串。

operator=

將新的字元值指派給字串的內容。

operator[]

使用字串中的指定索引,提供字元的參考。

備註

如果函式被要求產生長於 max_size 元素的序列,則此函式會藉由擲回 length_error 類型的物件,報告長度錯誤。

指定受控制序列之元素的參考、指標和迭代器,在呼叫更改受控制序列的函式之後,或是第一次呼叫非 const 成員的函式之後,可能會變得無效。

需求

標頭:<string>

命名空間: std

請參閱

參考

<string>

C++ 標準程式庫中的執行緒安全