C++11 vector 右值引用使用
阿新 • • 發佈:2019-01-05
常用的容器,比如vector 我們在儲存自定義物件的時候常常為了避免拷貝構造需要直接儲存指標,當然在不關心效率的場景那就隨各位了.現在C++11 有右值引用可避免這類問題,如下:
struct GsFeedbackItem { GsFeedbackItem(GsFeedbackItemType t, GsGeometry* geo, GsFeedbackFunction f, double tol) { Type = t; Geometry = geo; Function = f; HittestTolerance = tol; } /// \brief 回饋物件的型別 GsFeedbackItemType Type; /// \brief 繪製的幾何資料 GsGeometryPtr Geometry; /// \brief 物件功能 GsFeedbackFunction Function; /// \brief 命中容差 double HittestTolerance; };
插入資料:
m_FeedBackItems.emplace_back(eEditableHandle, new GsPoint(box.XMin,box.YMax), eLeftTopMove, 0);
遍歷資料:
for (GsFeedbackItem const& Item : m_FeedBackItems)