1
我需要在它自己的struct声明中声明两个struct的结构体。我知道我可以用一个数组来做这个操作,只要我用结构体内的指针引用它(即FA *goingTo[30];
会给我一个30 FA
的数组)。有没有类似的方法来引用堆栈?在结构体定义中声明一个struct的堆栈
typedef struct FA
{
std::stack<FA> goingTo;
std::stack<FA> comingFrom;
};
你指的是指'的std ::堆 going_from_or_to [2]'(或更好'的std ::阵列<性病::堆> going_from_or_to'),然后使用指针,迭代器,或指数去通过他们?目前还不清楚你的要求。 –
o11c
2014-10-06 05:33:54
或者等待,你的意思是有没有一种方法可以在堆栈中进行迭代?在这种情况下,no:'std :: stack'只能访问'top'元素。如果你想访问其他元素,只需直接使用'std :: vector'或'std :: deque'; 'std :: stack'实际上毫无价值。 – o11c 2014-10-06 05:35:19
结构不允许包含自己的标准容器。你必须做一些不同的事情。 Boost有一些容器可以做到这一点。 – 2014-10-06 05:39:42