我有两个堆栈的模板类,但我不知道如何配对它们先填充一个然后填充第二个堆栈。任何帮助或想法将不胜感激!这是我现在拥有的。
template<class Item> stackpair<Item>::stackpair()
{
};
template<class Item> stackpair<Item>::stack_a()
{
used = 0;
for (size_t i = 0; i < CAPACITY; i++)
{
data_first[i] = Item();
}
};
template<class Item> stackpair<Item>::stack_b()
{
used = 0;
for (size_t i = 0; i < CAPACITY; i++)
{
data_second[i] = Item();
}
};
答案 0 :(得分:0)
我认为最好为std::pair
两个std::array
使用别名,而不是定义具有类似功能的新类:
template<typename Item, std::size_t N>
using stackpair = std::pair<std::array<Item, N>, std::array<Item, N>>;
并使用:
实例化它们stackpair<Example, CAPACITY> sp;
和fill
他们:
sp.first.fill(Example());
sp.second.fill(Example());
另请注意,有一个名为std::stack
的类似堆栈操作的特定容器。