在看C++Primer 中有说道可以A a(c);将a初始化为容器C的副本,

假如有stack<string, vector<string> > str_stc(sve);

这应该是把适配器str_stc初始化为容器C的副本吧?

那么容器C应该怎么定义呢?举个例子....

推荐图书

  • C++ Primer中文版(第4版)
  • More Effective C++:35个改善编程与设计的有效方法(中文版)
  • 设计模式:可复用面向对象软件的基础


1个回答

改成这样就行了

#include<iostream>
#include<vector>
#include<string>
#include<stack>
using namespace std;
void main()
{
    stack<string, vector<string> > sve;
    sve.push("1111");
    sve.push("133");
    sve.push("1133");

    string s=sve.top();

    stack<string, vector<string> > str_stc(sve);
    printf("-----");

}