class MD {
MD();
MD(const MD &obj);
MD& operator=(const MD &obj);
private:
int Name;
double sal;
};
typedef std::shared_ptr<MD> mDataPtr;
typedef std::vector<mDataPtr> mDataVecContr;
typedef std::shared_ptr<mDataVecContr> ptrMdataVecContr;
class MDataContainer{
public:
MDataContainer();
MDataContainer(const MDataContainer &mDataCont);
MDataContainer& operator=(const MDataContainer &mDataCont);
private:
mDataVecContr vecNode;
std::deque<ptrMdataVectContr> mDataQueContr;
};
私の要件は、MD 型の 500 個のオブジェクトをベクターに格納することであり、これらのベクターへのポインターを deque に保持しています。ここでの問題は、コピー コンストラクター MDataContainer(const MDataContainer &mDataCont) でこのリストを初期化し、それをオーバーロードされた代入演算子 MDataContainer& operator=(const MDataContainer &mDataCont) に割り当てる方法です。コードの重複をなくすために、Init 関数を使用しています。Plsは、パフォーマンスを向上させる方法を説明してくれます。私がすでに使用している大まかな方法。この種の問題を解決するために使用できるアルゴリズムまたは他のライブラリ(ブースト、gr8のアイデアはありません)を使用できますか。