0
私は未定義の長さのベクトルvSignal
を持っています。std :: copyによってコピーされた要素がベクトルの外側にあるケースを処理する方法
私は私のdictionnaryベクターにvSignal
の一部をコピーする必要があります。
std::copy(vSignalIt1-n1, vSignalIt1, vDictionnary.begin());
vSignalIt1
はvSignal
イテレータの一つです。 copy()
関数を呼び出すと、vSignalIt1-n1
がベクター内の値を指しているかどうかわかりません。
rend()
がvSignal
に達するまで値を1つずつコピーするリバースイテレータを使用してループを作成することを考えました(実際にはそれを実行していました)。
しかし、copy()
機能を使用する代替ソリューションはありますか?
EDIT:
少し精度:vDictionnary固定サイズ(N1)として、私はそれを完全に充填するVSIGNALから十分な値をコピーすることができない場合に、Iは0
でそれを完了
を使用することができます - '(N1 <= vSignalIt1 vSignal.begin())を? – NathanOliver
この場合でもvSignalからvDictionnaryに値をコピーする必要があります。 –
'std :: min(n1、std :: distance(vSignal.begin()、vSignalIt1))'? – Jarod42