我有一個模板類,像這樣定義的innter類型:如何縮短爲模板類類型名稱語法
template <class T>
class BinarySearchTree
{
private:
struct Node
{
T m_value;
Node* m_left;
Node* m_right;
Node(const T& value = T(),
Node* const left = nullptr,
Node* const right = nullptr)
: m_value(value)
, m_left(left)
, m_right(right)
{
}
};
public:
const Node* find(const T& value) const;
};
template <class T>
const typename BinarySearchTree<T>::Node* BinarySearchTree<T>::find(const T& value) const
{
// some code here
}
因此,有許多功能,包括返回Node*
,每次它是很討厭寫typename BinarySearchTree<T>::Node*
爲函數返回類型之外的類。有沒有更好的辦法?
如果需要,您可以在C++ 14中使用'auto'。 – Holt