C++ stl堆栈和队列的内部实现

C++ stl堆栈和队列的内部实现,c++,stl,C++,Stl,我使用stl堆栈和队列来存储大量的项目集合。如何在内部实现标准模板库中的堆栈?它是链表的形式吗?或者它有没有最大尺寸

我使用stl堆栈和队列来存储大量的项目集合。如何在内部实现标准模板库中的堆栈?它是链表的形式吗?或者它有没有最大尺寸std::deque,但您可以使用例如vector with

std::stack<int,std::vector<int>> s;
std::stack s;
向量在内部工作。。。
#包括
#包括
结构样本
{
示例(){}
样本(常量样本和obj)
{

默认情况下,std::cout
std::stack
使用一个
std::deque
。或者直接查看实现没有问题,因为STL大部分是在头文件中编写的。
vector works internally...


#include <iostream>
#include <vector>

struct Sample
{
    Sample(){}
    Sample(const Sample & obj)
    {
        std::cout<<"Sample copy constructor"<<std::endl;
    }
};
int main()
{
    std::vector<Sample> vecOfInts;

    std::cout<<"Capacity :: "<<vecOfInts.capacity()<<std::endl;
    std::cout<<"Size :: "<<vecOfInts.size()<<std::endl;
    int capcity = vecOfInts.capacity();
    for(int i = 0; i < capcity + 1; i++)
        vecOfInts.push_back(Sample());

    std::cout<<"Capacity :: "<<vecOfInts.capacity()<<std::endl;
        std::cout<<"Size :: "<<vecOfInts.size()<<std::endl;

    for(int i = 0; i < capcity + 1; i++)
            vecOfInts.push_back(Sample());

    std::cout<<"Capacity :: "<<vecOfInts.capacity()<<std::endl;
    std::cout<<"Size :: "<<vecOfInts.size()<<std::endl;

    return 0;
}