常用的容器,比如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)