これは可能ですか?それも意味がありますか?たとえば、キーとして(pos 1)が必要なマップの比較機能がある場合(順番に):
ac ab aa bc ba cb
しかし、私は注文を取得したいかもしれません:
aa ab ac ba bc cb
私はただ下/上になってそこから比較できることを知っています。また、後者の比較機能があればどうでしょうか。別の比較機能と同じマップを介して、事前の処理を行うこともできますか?
An::std::map
は、特定の順序で要素を保持する複雑なデータ構造です。このデータ構造を並べ替えると、完全に破棄され、最初から再作成されます。いいえ、これは実際には指定した方法で実行することはできません。
しかし、それはある程度行うことができます。複数のマップが必要であり、重要なデータに対して効率的にスペースを確保するには、データ自体ではなく、データへのポインターを格納する必要があります。この場合のキーの処理方法は、キーが何であるかによって異なります。場合によっては、キーへのポインタも保存するか、データポインタを再度使用して、比較関数にデータからキーを抽出させることができます。