首页 > 编程语言 >C++ std : : stack

C++ std : : stack

时间:2022-09-23 21:24:58浏览次数:54  
标签:std 容器 对象 元素 栈顶 C++ push stack

和其他序列容器相比,stack 是一类存储机制简单、所提供操作较少的容器。下面是 stack 容器可以提供的一套完整操作:

  • top():返回一个栈顶元素的引用,类型为 T&。如果栈为空,返回值未定义。
  • push(const T& obj):可以将对象副本压入栈顶。这是通过调用底层容器的 push_back() 函数完成的。
  • push(T&& obj):以移动对象的方式将对象压入栈顶。这是通过调用底层容器的有右值引用参数的 push_back() 函数完成的。
  • pop():弹出栈顶元素。
  • size():返回栈中元素的个数。
  • empty():在栈中没有元素的情况下返回 true。
  • emplace():用传入的参数调用构造函数,在栈顶生成对象。
  • swap(stack<T> & other_stack):将当前栈中的元素和参数中的元素交换。参数所包含元素的类型必须和当前栈的相同。对于 stack 对象有一个特例化的全局函数 swap() 可以使用。

 

标签:std,容器,对象,元素,栈顶,C++,push,stack
From: https://www.cnblogs.com/fuqiangblog/p/16724382.html

相关文章

  • C++知识整理
    2.C++编译2.1gcc编译和gdb调试的学习C程序编译成可执行文件后,才能有运行。我常用gcc工具将c程序编译成可执行文件。GCC编译流程分为四个步骤:编译预处理、编译、汇编和......
  • C++ Deque
    deque是double-endedqueue的缩写,又称双端队列容器。deque容器也擅长在序列尾部添加或删除元素(时间复杂度为O(1)),而不擅长在序列中间添加或删除元素。deque容器也可......
  • Elastic Stack (一)
    目录ElasticStack简介ElasticStack简介ELK是一个免费开源的日志分析架构技术栈总称,官网https://www.elastic.co/cn。ELK包含但不限于Elasticsearch(简称es)、Logstas......
  • VulnStack复现
    靶场下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/01.靶场环境攻击机:kali(192.168.232.130)靶机:windows7(外网:192.168.232.155,内网:192.168.52.143)   ......
  • 内存管理下的栈 stack
    在内存管理的语境下,指的是函数调用过程中产生的本地变量和调用数据的区域。这个栈和数据结构理的栈高度相似,都满足后进先出LIFO看一段代码:voidfoo(intn){…}vo......
  • centos7 解决libstdc++.so.6.0.19版本问题
    问题描述:ImportError:/usr/lib64/libstdc++.so.6:version`CXXABI_1.3.8’notfound查看:[root@localhostlib64]#find/-namelibstdc++.so.6/usr/lib64/libstdc......
  • UEC++ 智能指针——共享指针、共享引用、弱指针
    C++中,往往令人头痛的是指针的管理问题!在对象动态构建时,我们需要将对象指针进行存储,一旦忘记释放,那么将会导致不可预估的错误。在C++中排查指针导致的内存泄漏问题实在令人......
  • 【C++入门】(六)高级引用和指针
    1.如何利用按引用传递来提高程序的效率1.1按引用传递以提高效率请看下面这段代码,体会精神classSimpleCat{public:SimpleCat();//构造函数......
  • 【C++入门】(三)创建指针
    1.指针是什么?1.1理解指针及其用途变量是可存储一个值的对象:整型变量存储一个数字;字符变量存储一个字母;指针是存储内存地址的变量计算机内存是存储变量......
  • 【C++入门】(四)开发高级指针
    1.如何在堆中创建对象?1.1在堆中创建对象定义了类型Cat后,便可声明一个指向这种对象的指针,并在堆中实例化一个Cat对象,就像在栈中实例化一样Cat*pCat=newCat;......