1

データを保持するために生のポインターを使用するだけのソフトウェアとやり取りしようとしています。ドキュメントで「非常に危険」と主張されていてもshallow_array_adaptor 、ラッピング ベクター インスタンスを作成すれば、問題を回避できると確信しています。constshallow_array_adaptor

私は次のようなことをしたいと思います:

using namespace boost::numeric::ublas
void f(vector<double>& acc, double* arr){ 
    // assume acc is already correctly sized, and arr is correctly allocated

   // this syntax is not correct, I'm pretty sure I'll have to construct
   // the instance of shallow_array_adaptor, but don't know how  to
   // get it to the vector's constructor 
   const vector< double , shallow_array_adaptor< double > > view( arr );

    acc+=view; // by wrapping the raw pointer, I get to use nice syntax here.
}

に保存されている値をコピーする必要はありませんarr

指定されたポインターをストレージとして使用するようにベクターを構築するために何をしなければならないかわかりません。

4

0 に答える 0