HStringReference クラス
既存の文字列から作成された HSTRING を表します。
構文
class HStringReference;
解説
新しい HSTRING のバッキング バッファーの有効期間は、Windows ランタイムでは管理されていません。 呼び出し元はソース文字列をスタック フレームに割り当てることで、ヒープ割り当てを回避し、メモリ リークのリスクを排除します。 また、呼び出し元はアタッチ済みの HSTRING の有効期間中にソース文字列が変更されないことを確認する必要があります。 詳細については、WindowsCreateStringReference 関数に関する記事を参照してください。
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
HStringReference::HStringReference | HStringReference クラスの新しいインスタンスを初期化します。 |
パブリック メソッド
メンバー | 説明 |
---|---|
HStringReference::CopyTo | 現在の HStringReference オブジェクトを HSTRING オブジェクトにコピーします。 |
HStringReference::Get | 基になる HSTRING ハンドルの値を取得します。 |
HStringReference::GetRawBuffer | 基になる文字列データへのポインターを取得します。 |
パブリック演算子
名前 | 説明 |
---|---|
HStringReference::operator= | 別の HStringReference オブジェクトの値を現在の HStringReference オブジェクトに移動します。 |
HStringReference::operator== | 2 つのパラメーターが等しいかどうかを示します。 |
HStringReference::operator!= | 2 つのパラメーターが異なるかどうかを示します。 |
HStringReference::operator< |
1 つ目のパラメーターが 2 つ目のパラメーターより小さいかどうかを示します。 |
継承階層
HStringReference
要件
ヘッダー: corewrappers.h
名前空間: Microsoft::WRL::Wrappers
HStringReference::CopyTo
現在の HStringReference
オブジェクトを HSTRING オブジェクトにコピーします。
HRESULT CopyTo(
_Out_ HSTRING *str
) const throw();
パラメーター
str
コピーを受信する HSTRING です。
解説
このメソッドを使用すると WindowsDuplicateString 関数が呼び出されます。
HStringReference::Get
基になる HSTRING ハンドルの値を取得します。
HSTRING Get() const throw()
戻り値
基になる HSTRING ハンドルの値。
HStringReference::GetRawBuffer
基になる文字列データへのポインターを取得します。
const wchar_t* GetRawBuffer(unsigned int* length) const;
パラメーター
length データの長さを受け取る int
変数へのポインター。
戻り値
基になる文字列データへの const
ポインター。
HStringReference::HStringReference
HStringReference
クラスの新しいインスタンスを初期化します。
template<unsigned int sizeDest>
HStringReference(wchar_t const (&str)[ sizeDest]) throw();
template<unsigned int sizeDest>
HStringReference(wchar_t const (&str)[ sizeDest],
unsigned int len) throw();
HStringReference(HStringReference&& other) throw();
パラメーター
sizeDest
宛先 HStringReference
バッファーのサイズを指定するテンプレート パラメーター。
str
ワイド文字の文字列への参照。
len
この操作で使用する str パラメーター バッファーの最大長。 len パラメーターが指定されていない場合は、str パラメーター全体が使用されます。 len が sizeDest より大きい場合、len は sizeDest-1 に設定されます。
other
別の HStringReference
オブジェクト。
解説
最初のコンストラクターにより、パラメーター str と同じサイズの新しい HStringReference
オブジェクトが初期化されます。
2 番目のコンストラクターにより、パラメーター len で指定されたサイズの新しい HStringReference
オブジェクトが初期化されます。
3 番目のコンストラクターにより、新しい HStringReference
オブジェクトが other パラメーターの値に初期化されてから、other パラメーターが破棄されます。
HStringReference::operator=
別の HStringReference
オブジェクトの値を現在の HStringReference
オブジェクトに移動します。
HStringReference& operator=(HStringReference&& other) throw()
パラメーター
other
既存の HStringReference
オブジェクトです。
解説
既存の other オブジェクトの値が現在の HStringReference
オブジェクトにコピーされてから、other オブジェクトが破棄されます。
HStringReference::operator==
2 つのパラメーターが等しいかどうかを示します。
inline bool operator==(
const HStringReference& lhs,
const HStringReference& rhs) throw()
inline bool operator==(
const HSTRING& lhs,
const HStringReference& rhs) throw()
inline bool operator==(
const HStringReference& lhs,
const HSTRING& rhs) throw()
パラメーター
lhs
比較する最初のパラメーター。 lhs は HStringReference
オブジェクトか、HSTRING ハンドルにすることができます。
rhs
比較する 2 番目のパラメーター。 rhs は HStringReference
オブジェクトか、HSTRING ハンドルにすることができます。
戻り値
lhs パラメーターと rhs パラメーターが等しい場合は true
。それ以外の場合は false
。
HStringReference::operator!=
2 つのパラメーターが異なるかどうかを示します。
inline bool operator!=(
const HStringReference& lhs,
const HStringReference& rhs) throw()
inline bool operator!=(
const HSTRING& lhs,
const HStringReference& rhs) throw()
inline bool operator!=(
const HStringReference& lhs,
const HSTRING& rhs) throw()
パラメーター
lhs
比較する最初のパラメーター。 lhs は HStringReference
オブジェクトか、HSTRING ハンドルにすることができます。
rhs
比較する 2 番目のパラメーター。 rhs は HStringReference
オブジェクトか、HSTRING ハンドルにすることができます。
戻り値
lhs パラメーターと rhs パラメーターが等しくない場合は true
。それ以外の場合は false
。
HStringReference::operator<
1 つ目のパラメーターが 2 つ目のパラメーターより小さいかどうかを示します。
inline bool operator<(
const HStringReference& lhs,
const HStringReference& rhs) throw()
パラメーター
lhs
比較する最初のパラメーター。 lhs は、HStringReference
の参照にすることができます。
rhs
比較する 2 番目のパラメーター。 rhs は、HStringReference
の参照にすることができます。
戻り値
lhs パラメーターが rhs パラメーターより小さい場合は true
。それ以外の場合は false
。