【问题标题】:I am new to C++ , need to know what is happening in line 10,12 and 16我是 C++ 新手,需要知道第 10,12 和 16 行发生了什么
【发布时间】:2015-11-21 16:50:12
【问题描述】:

我不明白上面写着stack<T> 的部分。请帮助我理解它。谢谢!

 template <typename T>          

  class SetOfStacks
  {
   public:
       SetOfStacks(int c = 10) : capacity (c) {}
       ~SetOfStacks() {}
       void push(T val);
       void pop();
       T top();
       stack<T>& getLastStack();
       bool empty();
       vector<stack<T>> getStacks() const;
       int size();
       void popAt(int index);
  private:
        vector<stack<T>> stacks;
        int capacity;
  }; 

LINE10

 stack<T>& getLastStack();

第 12 行

 vector<stack<T>> getStacks() const;

第 16 行

 vector<stack<T>> stacks;

【问题讨论】:

  • 我投票决定将此问题作为题外话结束,因为您需要参考初学者的教程或书籍。 Stack Overflow 不是语言教程网站。
  • 该代码的第二行是一个草率的源代码布局示例,类的命名混合(或遗漏)了平等和身份的概念,第一条指令(第 6 行)在最好的,除了其他点。我怀疑这对你来说是不是很好的学习材料。

标签: c++ vector stack


【解决方案1】:

这是一个模板实例化。有太多关于模板的内容要在这里继续讨论。我建议在您的书中再次查找它们或搜索网络。模板既是 C++ 最伟大的部分,也是最糟糕的部分。

【讨论】:

  • 我了解模板类部分,但不了解它所说的 >。那是堆栈类型的标识符吗?
  • @SujithShivaprakash - 向量是与堆栈相同的模板。您正在实例化 T 类型的堆栈向量。您确实需要查看模板。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-14
  • 2013-03-15
  • 1970-01-01
  • 2021-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多