0

現在、いくつかの double を別の double のベクトルにコピーする次のコードがあります。

for (int i = 0;i<=iTo;i++)
{

    int iID= i + iOff;
    double d=m[iID];
    uTargets[iSamplePos]=d;
    iSamplePos++;
}

「手動」の繰り返しなしでこれを行う最速の方法を教えてもらえますか?

ありがとうございました!

4

3 に答える 3

4

既存のベクターを上書きする場合:

uTargets.assign(m.begin() + iOff, m.begin() + iOff + iTo + 1);

既に存在する範囲にコピーする場合:

std::copy(m.begin() + iOff, m.begin() + iOff + iTo + 1, uTargets.begin() + iSamplePos);
于 2013-06-14T17:18:33.053 に答える