能不能通过#include<stack>声明来运用栈模板呀?
能不能通过#include<stack>声明来运用栈模板呀?如果还要自己建栈的话估计太麻烦了?有哪位达人能说一下? #include <stack>
using namespace std;
int main(){
stack<int> b;
for(int i=0;i<20;++i)
b.push(i);
while(!b.empty()){
cout<<b.top()<<endl;
b.pop();
}
return 0;
} 如果我同时需要定义两个不同类型的栈,那好像不够呀 stack<ClassName> stackInstance
比如
stack<int> a;
stack<string> b;
stack<ClassIDefined> c;
等
一般为了方便,会在全局范围上定义新类型
#include <stack>
typedef stack<int>intStack;
typedef stack<string> strStack;
int main(){
intStack something;
strStack someOtherThing;
.....
}
原帖由 九月鹰飞 于 2007-6-9 16:45 发表
如果我同时需要定义两个不同类型的栈,那好像不够呀
要定义不同类型的栈,就用不同的模版参数
stack<模版参数>
并不是stack<int>之后就不能再用 stack<string>
再看看模版相关的内容吧……
[ 本帖最后由 iptton 于 2007-6-9 20:17 编辑 ] LS签名要换啦..... 在这发水帖是要被扣分D。。。
页:
[1]