System.AnsiStringT
C++
class RTL_DELPHIRETURN AnsiStringT : public AnsiStringBase
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | dstring.h | System | System |
説明
AnsiStringT は、Delphi の long 文字列型に相当する C++ の型です。
AnsiStringT は、テンプレート クラス AnsiStringT<CodePage>
のすべてのインスタンスに共通するメソッドやメンバの定義場所となります。 さらに、これはコード ページが指定された Delphi AnsiString を処理する際に使用されるテンプレート クラスであり、個々のコード ぺ時ごとにコードを保持します。
メモ: AnsiString's 機能のさらなる情報については、AnsiString を参照してください。
その名前にもかかわらず、AnsiStringT は ANSI 文字セットに制限されず、マルチバイト文字セットや Unicode 文字セットなど、現在のロケール定義でサポートされている任意の文字セットを使用できます。
Delphi は文字列型を複数使用しますが、そのうちの 1 つは一般に AnsiString として知られています。この型をサポートには、次の機能が含まれています:
- 使用可能なメモリと同じ大きさの文字列が可能です。
- 共有参照を通じてメモリの効率的な使用が保証されます。
- ルーチンおよび演算子は現在のロケールに基づいて文字列を評価します。
考慮事項
AnsiStringT を使用する場合は、次の注意事項を考慮してください:
- AnsiString 自身は、
AnsiStringT<CodePage>
と同等の typedef です。C++ では、AnsiStringT を直接使用することも、Delphi のように n エイリアスを作成することもできます。 - 初期値が代入されていない AnsiStringT 変数には、長さ 0 の文字列が格納されています。
- C++ ストリーミング演算子(<< および >>)を AnsiStringT で使用するには、system.hpp をインクルードする前に iostream をインクルードするか、AnsiStringT::c_str() を使用して内部文字列表現を返す必要があります。</br>次の例では、ストリーム演算子を使用した AnsiString の使用方法を、両方の方法で示しています:
オプション 1 | オプション 2 |
---|---|
#include <System.hpp>
int main() {
AnsiString HelloStr = "hello";
std::cout << HelloStr.c_str();
}
|
#include <iostream>
#include <System.hpp>
int main() {
AnsiString HelloStr = "hello";
std::cout << HelloStr.c_str();
}
|
メモ: Delphi は AnsiString もサポートしていますが、クラスではなく基底型(プリミティブ型)として実装されています。 デフォルトでは、String 型として宣言されている変数は UnicodeString です。