C++11 vector 右值引用使用
常用的容器,比如vector 我们在存储自定义对象的时候常常为了避免拷贝构造需要直接存储指针,当然在不关心效率的场景那就随各位了.现在C++11 有右值引用可避免这类问题,如下:struct GsFeedbackItem{GsFeedbackItem(GsFeedbackItemType t, GsGeometry* geo, GsFeedbackFunction f, double to...
·
常用的容器,比如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)
更多推荐
已为社区贡献1条内容
所有评论(0)