c++ - 派生公共(public)静态 std::list

标签 c++

有人能给我指出正确的方向吗?我想要一个“静态”(单一实例)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_;
}

也没有静态继承,所以我建议实现您自己的 getinsertremove 方法,这些方法会修改内部静态列表。

关于c++ - 派生公共(public)静态 std::list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16478629/

相关文章:

c++ - 加载 SFML 音频 dll

java - 如何解决 "java.lang.UnsatisfiedLinkError: Can' t find dependent libraries"without System32?

c++ - 从C++中的链表中删除指针

c++ - 在递归 C++ 函数中捕获 "Stack Overflow"异常

c++ - 如何使用 Vulkan Api 上的暂存缓冲区解决网格损坏问题

c++ - 为处理器执行除法和取模的最佳方法是什么?

c++ - 在另一个类中创建一个静态类变量,使用已删除的函数=错误

c++ - 如何将 c++ 变量安全地保存在 RAM 中?

c++ - c++ 和 actionscript 3 之间的通信

c++ - 从 C src 调用 C++ 函数