C++ 适配器

来源:百度知道 编辑:UC知道 时间:2024/05/04 06:04:16
stack <string,vector <string> >str;
这个适配器是什么意思啊? 括号里第一第二个类型分别是什么意思
能否具体讲讲,最好举个小例子
回一楼的:第一个参数表示堆栈用来存放string,第二个参数表示用vector存放数据.
你的例子里stack这个栈里不是就string吗,没见到vector的使用啊?

stack <string,vector <string> >str;
表示一个string的堆栈,第一个参数表示堆栈用来存放string,第二个参数表示用vector存放数据,stack默认是用deque 即双端队列存放数据的。
#pragma warning(disable:4786)
#include <iostream>
#include <stack>
#include <string>
#include <vector>
using namespace std;

int main()
{
stack<string,vector<string> > str;
str.push("a"); //压栈
str.push("b");
while(! str.empty()) //出栈
{
cout<<str.top()<<endl; //取栈顶元素
str.pop();
}
return 0;
}
VC6.0编译。

添加:
vector用在了stack内部,默认用的是deque,但是用户可以设定用什么内部适配器。

不好用