做POP我想知道如何當頂部變量達到一個值-1申請異常處理(無元素留下來的POP)。目前,我正在使用cout來向用戶提供關於堆棧下溢和返回,這不是一個好的做法。對於這個pop函數,以及如何在堆棧達到下溢狀態時通知用戶並處理異常,總體上可以做出什麼改進。異常處理下溢,而在堆棧
int Mystack::pop()
{
if (isEmpty())
{
std::cout << "Stack Underflow" << std::endl;
}
else
{
std::cout << "The popped element is" << A[top];
return A[top--];
}
return 0;
}
主段:
case 4:
std::cout << "POP the element" << std::endl;
s1.pop();
break;
['std :: out_of_range'](http://en.cppreference.com/w/cpp/error/out_of_range)在''頭部。 –
ikh
謝謝,糾正了這個帖子。關於'out_of_range'的 – PaulMcKenzie
,其優點是它聽起來符合。缺點包括(1)[抱歉,刪除],和(2)它將通過僅捕獲'runtime_error'的代碼飛行。除了這些考慮之外,我認爲應該提及的是,這種'pop'的設計對於其他堆棧項類型(一般來說)並不是特別安全的。 –