データの格納に配列を使用していましたが、ベクトルに置き換えたので、すべての c 演算子を c++ 演算子に置き換えたいと考えています。memcpy を使用して 1 つのメモリ ブロックをコピーしました
for (i = 0; i < rows_; i++)
memcpy((T *) &tmp.data_[cols_ * i], (T *) &a.data_[cols_ * (2 * i + 1)], rows_ * sizeof(T));
ベクトルでも動作します。C ++に同等の関数があることを知りたいだけですか?
私はコピーを試しました:
std::copy(tmp.data_[cols_ * i], tmp.data_[cols_ * i+rows], a.data_[cols_ * (2 * i + 1)]);
しかし、次のエラーが表示されます。
error: invalid use of member function (did you forget the ‘()’ ?)
例えば:
2xnxn サイズの配列があり、代わりに for サイクルを使用して nxn 配列を作成しています。たとえば、1 2 3 4 5 6 7 8 がある場合、新しい配列は次のようにする必要があります: 3 4 7 8. memcpy を使用してこれを達成しましたが、C++ でどのように達成できるかわかりません