私は、2次元配列を大文字で2重配列に格納しています。 私のデータには、5つの列、時間、x、y、z、およびフィールドがあります。カスタムイテレータでstd :: lower_boundを使用するには?
- T1、X1、Y1、Z1、F1
- T2、X2、Y2、Z2、F2
- T3、X3、Y3、Z3、F3 ...
このデータであります列の主要な方法で倍の1D配列に格納されます。 Like
double dataArray[] = { T1, x1, y1,z1,F1, T2,x2,y2,z2,F2, T3,x3,y3,z3,F3, ... };
ここで、時間が所定の値T0以上のデータの最初の行を探したいとします。これを行うにはどうすればstd :: lower_boundを使うことができますか?
私はその配列の5番目の要素をすべて返すForwardIteratorが必要だと思いますが、それを行う方法はありません。どんな助けもありがとうございます。
XY問題のようです。データを適切な形式(二重のフィールドを持つ構造体)で保存すると、問題はなくなりますが、コードが読みやすくなり、エラーが発生しにくくなります。 – Slava
これは役立ちます:http://stackoverflow.com/questions/5685983/skipping- iterator – NathanOliver
@Slava、データの格納方法を変更することはできません。 – user3469604