读书人

关于解决思路

发布时间: 2012-03-18 13:55:39 作者: rapoo

关于
class CPath
{
private:
vector <int> vSerial;
};

class CGroup
{
private:
vector <CPath*> vpPath;
public:
dosomething(); //这个操作会破坏vpPath原有的数据
}

main()
{
CGroup group;
group.dosomething();
}

question:我想要在dosomething()之前备份一个vpPath的一个元素,当dosomething()之后恢复该元素到vpPath某一个特定的位置上.

我的想法是在CGroup里加一个CPath* m_reserve;
然后m_reserve = new CPath(*vpPath[i]);
但很遗憾,那被证明是错误的.
有谁能给个正确的解法?

[解决办法]
vpPath里面放的是原生指针而已,你备份它的素还要new什么。
直接m_reserve = vpPath[i]暂时转存在m_reserve里面。
[解决办法]
备份元素不就是int?
用 int 保存数据就ok了.

[解决办法]
m_reserve = new CPath(vpPath[i]);

读书人网 >C++

热点推荐