有人能给我指出正确的方向吗?我想要一个“静态”(单一实例)std::list,因此 std::list 在具有如下所示“容器”结构实例的所有对象中共享。但是,结构中的所有其他元素对每个实例都保持唯一。
我应该在哪里为派生的 std::list 放置关键字“static”?
请注意下面的关键字“static”放错了位置,因为我根本不知道在这种情况下它应该放在哪里。
struct Container : public static std::list<int>
{
public:
Container()
{}
~Container()
{}
list<int*> Handles;
}; // struct
最佳答案
这里不需要继承;最好的方法是拥有一个静态成员:
struct Container {
static std::list<int> list_;
}
也没有静态继承,所以我建议实现您自己的 get
、insert
、remove
方法,这些方法会修改内部静态列表。
关于c++ - 派生公共(public)静态 std::list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16478629/