共用方式為


ctype<char> 類別

類別是類別樣板 ctype\<CharType> 類型的 char明確特製化,描述可作為地區設定 Facet 的物件,以描述類型 char之字元的各種屬性。

語法

template <>
class ctype<char>
: public ctype_base
{
public:
    typedef char _Elem;
    typedef _Elem char_type;
    bool is(
    mask _Maskval,
    _Elem _Ch) const;

    const _Elem* is(
    const _Elem* first,
    const _Elem* last,
    mask* dest) const;

    const _Elem* scan_is(
    mask _Maskval,
    const _Elem* first,
    const _Elem* last) const;

    const _Elem* scan_not(
    mask _Maskval,
    const _Elem* first,
    const _Elem* last) const;

    _Elem tolower(
    _Elem _Ch) const;

    const _Elem* tolower(
    _Elem* first,
    const _Elem* last) const;

    _Elem toupper(
    _Elem _Ch) const;

    const _Elem* toupper(
    _Elem* first,
    const _Elem* last) const;

    _Elem widen(
    char _Byte) const;

    const _Elem* widen(
    const char* first,
    const char* last,
    _Elem* dest) const;

    const _Elem* _Widen_s(
    const char* first,
    const char* last,
    _Elem* dest,
    size_t dest_size) const;

    _Elem narrow(
    _Elem _Ch,
    char _Dflt = '\0') const;

    const _Elem* narrow(
    const _Elem* first,
    const _Elem* last,
    char _Dflt,
    char* dest) const;

    const _Elem* _Narrow_s(
    const _Elem* first,
    const _Elem* last,
    char _Dflt,
    char* dest,
    size_t dest_size) const;

    static locale::id& id;
    explicit ctype(
    const mask* _Table = 0,
    bool _Deletetable = false,
    size_t _Refs = 0);

protected:
    virtual ~ctype();
//other protected members
};

備註

明確特製化與類別範本有幾種不同:

  • 類別 ctype<char> 的物件會儲存 ctype 遮罩數據表第一個專案的指標,此陣列為 類型為 UCHAR_MAX + 1 個專案 ctype_base::mask。 它也會儲存 Boolean 物件,指出當 ctype<Elem> 物件終結時,是否應該刪除數位(使用 operator delete[])。

  • 唯一的公用建構函式可讓您指定 tab、ctype mask 數據表和 del,如果對象終結時 ctype<char> 應刪除陣列,以及 reference-count 參數 refs,則為 true 的布爾值物件。

  • 受保護的成員函 table 式會傳回儲存的 ctype 遮罩數據表。

  • 靜態成員物件 table_size 會指定 ctype mask 數據表中的項目數目下限。

  • 受保護的靜態成員函 classic_table式 (傳回適合 “C”地區設定的 ctype 遮罩數據表。

  • 系統並沒有提供 do_isdo_scan_isdo_scan_not 這幾個受保護的虛擬成員函式。 對應的公用成員函式會自行執行對等作業。

成員函式 do_narrowdo_widen 會複製不變的元素。

需求

Header:<locale>

命名空間:std

另請參閱

facet 類別
ctype_base 類別
C++ 標準程式庫中的執行緒安全