順序棧的構造函數:
SeqStack(int sz):top(-1),maxsize(sz){
elements=new T [maxsize];
assert(elements!=NULL);
}
可以把assert(elements!=NULL);替換為:
if(elements==NULL)
{
cerr<<"存儲分配失敗"<<endl;
exit(1);
}嗎?
兩者有什麼區別?
ASSERT只有在Debug版本中才有效,如果編譯為Release版本則被忽略。
斷言是為調試除錯准備的,而if判斷是程序邏輯的一部分。