配列内の範囲を返すいくつかの関数を作成する必要があります (必要に応じて、それらが開始位置と長さとして指定されていると仮定してもかまいません)。タプルを返すことはできないので、別の型を返す必要があります (いずれにせよ、それは良い考えかもしれません)。ここで、(ある程度) 標準であり、vtables、複雑な ctor などによるパフォーマンスの低下を招かないものを返したいと思います。
頭に浮かぶオプションは次のとおりです。
std::pair<unsigned>
(またはstd::pair<size_t>
)。unsigned
2 つの s (またはs)をラップする構造体size_t
。- 独自の Range クラスをローリングし、ユーティリティ メソッドでシュガー コーティングします。
適切な Range クラスを探してみましたが、見つかりませんでした。標準ライブラリ/STL で範囲にクラスを使用するものがないのはちょっと奇妙です。
より良い代替手段はありますか?また、ない場合、上記のうちどれをお勧めしますか?