我正试图在C中实现这个逻辑:
Object obj(args);
while (obj.isOK()) {
obj = obj.next();
}
但是我无法使用这个确切的代码,因为Object继承了boost :: noncopyable,所以它没有赋值运算符.我可以向Object添加方法和构造函数(但不能使它可复制),但我不愿意.其他问题有手动销毁和放置新的解决方案,如果我为Object创建一个新的构造函数,我可以做,但同样,最好我不需要新的构造函数,这似乎是一个非常讨厌的解决方案.我有什么替代品?
最佳答案 Make Object :: next将Object改为原位.由于Object不可复制,因此对于Object :: next来说这似乎是唯一明智的做法.