特定の CComBSTR オブジェクト (のようなものY.StartsWith("X")
) でプレフィックス チェックを実行する必要があるコードに遭遇しました。C++ は私にとって少しなじみがなく、私の最大の関心事は効率です。CComBSTR を変更する必要はまったくありません。私が望むのは、Xプレフィックスで始まるかどうかについてブール値を返すことだけです。
CComBSTR Membersの下の API にリストされている演算子を見ると、==、>、< などの非常に基本的な比較が可能です。これを解決する方法について 2 つのアイデアがあります (以下にリスト)。ただし、これを行うための最も効率的/最も簡単な方法について、私は深く理解していません。私が完全にベースから外れている場合は、お知らせください。
- BSRTToArrayを使用して配列を作成し、最初の n 個のインデックスを反復処理して、特定のプレフィックスがあるかどうかを確認します。
- CComBSTR から BSTR を取得し、BSTR でいくつかの比較を行います (これを行う方法はまだわかっていません)。