最近开始学习c ++中的堆栈。在查看示例时,我注意到他们使用了以下内容:
void showstack(stack <int> s).
我想知道<>做了什么,它与仅使用int有什么不同。
您正在查看的是template parameters。
[基本上,stack
是一个模板,以这样的方式声明(以简化的方式:):
template <class T>
class stack { /*...*/ };
因此,stack
不是一个类,您不能谈论堆栈类型。一旦指定了模板参数,它将成为一种类型。例如:stack<int>
在这种情况下是整数堆栈。
它说showstack
的参数是stack
的ints
。
<>
用于模板,该模板告诉类期望什么样的数据。您可以将int
替换为string
,那样便会有一堆字符串。