stack的简单用法总结

匿名 (未验证) 提交于 2019-12-02 23:06:17
  1. top():返回一个栈顶元素的引用,类型为 T&。如果栈为空,返回值未定义。
  2. push(const T& obj):可以将对象副本压入栈顶。这是通过调用底层容器的 push_back() 函数完成的。
  3. push(T&& obj):以移动对象的方式将对象压入栈顶。这是通过调用底层容器的有右值引用参数的 push_back() 函数完成的。
  4. pop():弹出栈顶元素,直接删除栈顶元素,并没有返回该值哦。
  5. size():返回栈中元素的个数。
  6. empty():在栈中没有元素的情况下返回 true。
  7. emplace():用传入的参数调用构造函数,在栈顶生成对象。
  8. swap(stack & other_stack):将当前栈中的元素和参数中的元素交换。参数所包含元素的类型必须和当前栈的相同。对于 stack 对象有一个特例化的全局函数 swap() 可以使用。
int main(){ //定义一个空栈a stack<int> a;  for(int i = 1; i <= 3; i++)     a.push(i);  cout << "size of a is " << a.size()<< endl; cout << "element of  a is: " ;  for(; a.size() > 0;){     // cout << a.pop() << " "; pop直接删除元素并没有返回,所以这种用法是错误的      cout << a.top() << " ";     a.pop(); }  cout <<endl; cout << "after pop all element in a,the size =  " << a.size()<< endl; cout << endl; return 0; }

输出结果如下:

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!