http://keyknight.blog.163.com/blog/static/366378402009120115435657/
020 栈适配器的操作:
s.empty() 如果栈为空, 则返回true , 否则返回false .
s.size() 返回栈中元素的个数.
s.pop() 删除栈顶元素, 但不返回其值.
s.top() 返回斩定元素, 但不删除其值.
s.push(item) 将item压入栈顶.
// 09020.cpp
#include <stack>
#include <iostream>
using std::stack;
using std::cout;
using std::cerr;
using std::endl;
int main(){
const stack<int>::size_type stk_size = 10;
stack<int> intStack;
int ix = 0;
while(intStack.size() != stk_size){
intStack.push(ix++);
}
int error_cnt = 0;
while(!intStack.empty()){
int value = intStack.top();
if (value != --ix){
cerr << "oops! expected " << ix << " received " << value << endl;
++error_cnt;
}
cout << value << " ";
intStack.pop();
}
cout << endl;
cout << "Our program ran with " << error_cnt << " errors!" << endl;
return 0;
}