C++ Stack empty() 函数
C++ Stack empty() 函数用于测试容器是否为空。在许多情况下,在从堆栈中提取实际元素之前,程序员会首先检查堆栈是否有元素。这样做在内存和成本方面是有优势的。
语法
bool empty() const;
参数
没有参数。由于这个函数仅用于测试目的,因此直接应用于堆栈。因此,不传递任何参数。
返回值
如果参考容器为空,则该方法返回’true’,否则返回’false’。该方法仅用于测试目的,因此根据测试结果返回值。
示例1
//下面的程序用于检测容器是否为空。
#include <iostream>
#include <stack>
int main()
{
std::stack<int> newstack;
int sum=0;
for (int j=1; j<=10; j++)
newstack.push(j);
while (!newstack.empty ())
{
sum += newstack.top ();
newstack.pop ();
}
std::cout << "Result is: " << sum;
return 0;
}
return 0;
}
输出结果:
Result is: 55
示例2
//下面给出的程序用于检测容器是否为空。
#include <iostream>
#include <stack>
using namespace std;
int main()
{
std::stack<int> newstack;
newstack.push(69);
//Checking whether the stack is empty
if(newstack.empty())
{
cout<<"The stack is empty, insert some elements to keep going";
}
else
{
cout<<"Elements are present in the stack";
}
return 0;
}
输出:
Elements are present in the stack
复杂性
该函数仅用于检测容器是否为空,因此不接受任何参数,并具有恒定的复杂性。
数据竞争
只访问容器。栈被访问以检查元素的存在。此函数不会访问所有元素,只是通过一瞥来检查容器是否完全为空或是否有一些存在。
异常安全
提供与在基础容器对象上执行的操作等价的保证。