这是本书的一个例子:
template <class T>
class stack
{
public:
stack();
stack(const stack&);
stack & operator=(const stack&);
~stack();
T& top();
void push(const T&);
void pop();
//few more functions
}
我有以下问题:
为什么top的返回类型不是堆栈&amp;以及重载作业的论证不是T&amp; ?
RGDS, 软质皮
答案 0 :(得分:7)
为什么top的返回类型不是stack&amp;
因为top
的目的是返回堆栈顶部的元素,而不是堆栈本身!