我最近查看了SGI STL的源代碼。我想知道我是否可以使用 「 - >」 操作者更換(*node).data
實施operator*()
,就像這樣:爲什麼STL中List的迭代器使用(* node).data而不是node-> data?
reference operator*() const {return (*node).data;}
改爲:
reference operator*() const {return node->data;}
除了:
節點是指向結構對象的指針,如下所示:
template<class T>
struct __list_node {
typedef void * void_pointer;
void_pointer prev;
void_pointer next;
T data;
};
你可以,但有什麼意義? – 2013-12-22 14:44:04
可能,是的。什麼類型是'node',並且它是否重載'operator->'或者一元'operator *'? –
節點是一個指針,它指向一個struct __list_node {} – Jeff