小编Aid*_*her的帖子

为什么像 std::vector 这样的标准容器不实现接口?

我想存储一个队列向量。

队列可能有不同的模板类型,因此我不能将它们存储在同一个向量中。

std::queue<int> aQueue1
std::queue<std::string> aQueue2
std::queue<float> aQueue3
std::vector<std::queue> aVec // Doesn't work because std::queue needs template arguments
Run Code Online (Sandbox Code Playgroud)

我可以在向量中存储指向队列的指针,但是队列并不都实现相同的基类(例如 IQueue)。

std::vector<std::IQueue*> aVec //IQueue does not exist
Run Code Online (Sandbox Code Playgroud)

为什么这不存在?我有哪些选择?

就我而言,用法是我想检查所有队列是否为空。 myqueue.empty()

c++

3
推荐指数
2
解决办法
316
查看次数

标签 统计

c++ ×1