std::stack::stack

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

 
 
 
std::stack
成员函数
原文:
Member functions
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
stack::stack
元素的访问
原文:
Element access
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
容量
原文:
Capacity
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
修饰符
原文:
Modifiers
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
 
explicit stack( const Container& cont = Container() );
explicit stack( const Container& cont );
(1) (C++11 前)
(C++11 起)
explicit stack( Container&& cont = Container() );
(2) (C++11 起)
stack( const stack& other );
(3)
stack( stack&& other );
(4) (C++11 起)
template< class Alloc >
explicit stack( const Alloc& alloc );
(5) (C++11 起)
template< class Alloc >
stack( const Container& cont, const Alloc& alloc );
(6) (C++11 起)
template< class Alloc >
stack( Container&& cont, const Alloc& alloc );
(7) (C++11 起)
template< class Alloc >
stack( const stack& other, const Alloc& alloc );
(8) (C++11 起)
template< class Alloc >
stack( stack&& other, const Alloc& alloc );
(9) (C++11 起)
构建新的基础容器,容器适配器从各种数据源.
原文:
Constructs new underlying container of the container adaptor from a variety of data sources.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
1)
复制与内容c构造基础容器cont。这也是默认的构造函数(C++11 前)
原文:
Copy-constructs the underlying container c with the contents of cont. This is also the default constructor (C++11 前)
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
2)
移动构建的基本容器cstd::move(cont)。这也是默认的构造函数(C++11 起)
原文:
Move-constructs the underlying container c with std::move(cont). This is also the default constructor (C++11 起)
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
3)
拷贝构造函数。该适配器拷贝构造的other.c的内容。 (隐式声明)
原文:
Copy constructor. The adaptor is copy-constructed with the contents of other.c. (隐式声明)
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
4)
移动的构造函数。该适配器的构造与std::move(other.c)(隐式声明)
原文:
Move constructor. The adaptor is constructed with std::move(other.c). (隐式声明)
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
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).
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
5)
构造底层的容器,使用alloc作为分配器。有效地调用c(alloc).
原文:
Constructs the underlying container using alloc as allocator. Effectively calls c(alloc).
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
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).
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
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).
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
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).
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
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).
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 参数

alloc -
分配器使用的所有内存分配的基础容器
原文:
allocator to use for all memory allocations of the underlying container
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
other -
另一个容器适配器要用作源初始化基础容器
原文:
another container adaptor to be used as source to initialize the underlying container
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
cont -
容器被用作源初始化基础容器
原文:
container to be used as source to initialize the underlying container
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
first, last -
初始化的元素范围
原文:
range of elements to initialize with
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
类型要求
-
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
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
2,4,7,9:不变
原文:
2, 4, 7, 9: constant
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 为例

#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

[编辑] 另请参阅

赋值给容器适配器
(公开成员函数) [编辑]