我面临一个设计问题,可以用以下类来概括:共享缓冲区的链表,其中链接元素是 SharedBuffer
class SharedBuffer : public shared_ptr<Buffer> {
private:
SharedBuffer _next;
SharedBuffer(Buffer* buffer) : shared_ptr<Buffer>(buffer) {}
~SharedBuffer() {
if (_next)
_next.reset();
}
};
这个类是错误的,因为它在自己的定义中引用了自己。但就是这个想法。关于制作这样的共享缓冲区列表有什么想法吗?
最佳答案
简短的回答是
你没有
STL里面有很多容器类。 std::vector<>
, std::list<>
或您正在寻找的任何其他容器。不要自己滚动。请。你只会犯错误,你的时间可以更好地花在处理你的程序逻辑上,而不是调试一些错误的实现,尤其是当好的实现是免费的时候。
std::vector<std::shared_ptr<Buffer>> sharedBuffers;
关于c++ - 如何制作 shared_ptr 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35082690/