我正在研究 Michael J Laszlo 的书 ' Computation Geometry and Computer Graphics in C++ '。下面是一个模板类原型:
template <class T> class ListNode : public Node {
T _val;
ListNode (T val);
friend class List<T>;
};
template <class T> ListNode <T>::ListNode(T val)
{_val=val;};
template <class T> class List{
private:
ListNode <T> *header;
ListNode <T> *win;
int _length;
public:
List(void);
~List(void);
T insert(T);
T append(T);
List * append(List*);
T prepend(T);
T remove(void);
void val(T); // overloaded function!
T val(void);// overloaded function!
T next(void);
T prev(void);
T first(void);
T last(void);
int length(void);
bool isFirst(void);
bool isLast(void);
bool isHead(void);
};
现在看看他定义 List 构造函数的方式:
// constructors and destructors
template <class T> list<T>:: List(void): _length(0)
{
header =new ListNode<T>(NULL);
win=header;
}
我的问题:
{...}
在外部和内部分配默认长度是怎么回事?这背后有某种逻辑推理吗?
因为例如在此之前,他几乎宣布了一切之外的东西{...}
,我认为这只是他的风格