Windowsランタイムの文字列型HSTRINGは不変であり、参照カウントされます。
C ++ / CXの型Platform::Stringは、型とそれがサポートするいくつかの操作の単なるラッパーです( WindowsランタイムC ++関数リストのHSTRINGで始まる関数を参照してください)。Windows
文字列型は不変であるため、文字列を変更する操作はありません(したがって、がないのはなぜですかReplace)。いくつかの非変更操作があります(確かにC ++よりも少ないですstd::wstring)。
Platform::Stringランダムアクセスイテレータを文字列に返すメンバー関数(および非メンバー関数Begin()とオーバーロード)を提供します(ポインタ、、、およびポインタは有効なランダムアクセスイテレータです)。これらのイテレータは、ランダムアクセスイテレータを使用し、基になるシーケンスを変更しようとしないC++標準ライブラリアルゴリズムのいずれかで使用できます。たとえば、を使用して文字の最初の出現のインデックスを見つけることを検討してください。End()begin()end()wchar_t const*std::find
文字列を変更する必要がある場合は、std::wstringまたはを使用しますstd::vector<wchar_t>。理想的にstd::wstringは、プログラムで可能な限りC ++を使用することを検討し、Platform::String他のWindowsランタイムコンポーネントと相互運用する必要がある場合(つまり、ABI境界を越えて)にのみC ++/CXを使用してください。