std::stack::stack

来自cppreference.com
< cpp‎ | container‎ | stack

 
 
 
std::stack

|- class="t-nv-h1"

| colspan="5" |
成员函数
原文:
Member functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

|-

stack::stack
stack::~stack
stack::operator=
元素的访问
原文:
Element access
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
stack::top
容量
原文:
Capacity
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
stack::empty
stack::size
修饰符
原文:
Modifiers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
stack::push
stack::emplace
stack::pop
stack::swap
 
explicit stack( const Container& cont = Container() );
explicit stack( const Container& cont );
(1) (until C++11)
(since C++11)
explicit stack( Container&& cont = Container() );
(2) (since C++11)
stack( const stack& other );
(3)
stack( stack&& other );
(4) (since C++11)
template< class Alloc >
explicit stack( const Alloc& alloc );
(5) (since C++11)
template< class Alloc >
stack( const Container& cont, const Alloc& alloc );
(6) (since C++11)
template< class Alloc >
stack( Container&& cont, const Alloc& alloc );
(7) (since C++11)
template< class Alloc >
stack( const stack& other, const Alloc& alloc );
(8) (since C++11)
template< class Alloc >
stack( stack&& other, const Alloc& alloc );
(9) (since C++11)
构建新的基础容器,容器适配器从各种数据源.
原文:
Constructs new underlying container of the container adaptor from a variety of data sources.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
1)
复制与内容c构造基础容器cont。这也是默认的构造函数(until C++11)
原文:
Copy-constructs the underlying container c with the contents of cont. This is also the default constructor (until C++11)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
2)
移动构建的基本容器cstd::move(cont)。这也是默认的构造函数(since C++11)
原文:
Move-constructs the underlying container c with std::move(cont). This is also the default constructor (since C++11)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
3)
拷贝构造函数。该适配器拷贝构造的other.c的内容。 (隐式声明)
原文:
Copy constructor. The adaptor is copy-constructed with the contents of other.c. (隐式声明)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
4)
移动的构造函数。该适配器的构造与std::move(other.c)(隐式声明)
原文:
Move constructor. The adaptor is constructed with std::move(other.c). (隐式声明)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
5-9)
下面的构造std::uses_allocator<container_type, Alloc>::value == true,也就是说,如果的基础容器是一个分配器感知的容器(适用于所有标准库容器),如果只定义.
原文:
The following constructors are only defined if std::uses_allocator<container_type, Alloc>::value == true, that is, if the underlying container is an allocator-aware container (true for all standard library containers).
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
5)
构造底层的容器,使用alloc作为分配器。有效地调用c(alloc).
原文:
Constructs the underlying container using alloc as allocator. Effectively calls c(alloc).
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
6)
构造的基础容器cont的内容和使用alloc作为分配器。有效地调用c(cont, alloc).
原文:
Constructs the underlying container with the contents of cont and using alloc as allocator. Effectively calls c(cont, alloc).
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
7)
构造基础容器的内容cont使用移动语义,同时利用alloc分配器。有效地调用c(std::move(cont), alloc).
原文:
Constructs the underlying container with the contents of cont using move semantics while utilising alloc as allocator. Effectively calls c(std::move(cont), alloc).
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
8)
构建适配器的other.c的内容,作为分配器和使用alloc。有效地调用c(athor.c, alloc).
原文:
Constructs the adaptor with the contents of other.c and using alloc as allocator. Effectively calls c(athor.c, alloc).
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
9)
构建适配器other使用移动语义,同时利用alloc分配器的内容。有效地调用c(std::move(other.c), alloc).
原文:
Constructs the adaptor with the contents of other using move semantics while utilising alloc as allocator. Effectively calls c(std::move(other.c), alloc).
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

目录

[编辑] 参数

alloc -
分配器使用的所有内存分配的基础容器
原文:
allocator to use for all memory allocations of the underlying container
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
other -
另一个容器适配器要用作源初始化基础容器
原文:
another container adaptor to be used as source to initialize the underlying container
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
cont -
容器被用作源初始化基础容器
原文:
container to be used as source to initialize the underlying container
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
first, last -
初始化的元素范围
原文:
range of elements to initialize with
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
类型要求
-
Alloc 必须满足 Allocator 的要求。
-
Container 必须满足 Container 的要求。 The constructors (5-10) are only defined if Container meets the requirements of AllocatorAwareContainer
-
InputIt 必须满足 InputIterator 的要求。

[编辑] 复杂性

1,3,5,6,8:线性contother
原文:
1, 3, 5, 6, 8: linear in cont or other
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
2,4,7,9:不变
原文:
2, 4, 7, 9: constant
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 为例

#include <stack>
#include <deque>
#include <iostream>
 
int main()
{
    std::stack<int> c1;
    c1.push(5);
    std::cout << c1.size() << '\n';
 
    std::stack<int> c2(c1);
    std::cout << c2.size() << '\n';
 
    std::deque<int> deq {3, 1, 4, 1, 5};
    std::stack<int> c3(deq);
    std::cout << c3.size() << '\n';
}

输出:

1
1
5

[编辑] 另请参阅

将值赋给容器适配器
(公共成员函数) [edit]