使用int和<int>有什么区别

时间:2019-10-12 18:12:27

标签: c++ int stack

我最近开始学习C ++中的堆栈。在查看示例时,我注意到他们使用了以下内容:

       void showstack(stack <int> s).

我想知道<>做了什么,与仅使用int有何不同?

4 个答案:

答案 0 :(得分:4)

您正在查看的是template parameters

stack基本上是一个模板,声明方式如下:

template <class T>
class stack { /*...*/ };

因此,stack不是一个类,您不能谈论堆栈类型。一旦指定了模板参数,它将成为一种类型。例如:stack<int>在这种情况下是整数的

答案 1 :(得分:1)

stack就像许多其他容器一样templated。您需要指定要存储在容器中的元素的类型。

template<
    class T, // this what you specified in your code
    class Container = std::deque<T>
> class stack;

在您像以前那样使用具有类型的堆栈之前,代码中不会编译堆栈。

答案 2 :(得分:0)

它说showstack的参数是stack中的ints

答案 3 :(得分:0)

<>用于模板,该模板告诉类期望什么样的数据。您可以将int替换为string,那样便会有一堆字符串。

For more info