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