這是很容易給定的容器,以獲得相關的迭代器,例如容器類型:獲取從在C(其)迭代器類型++(STL)
std::vector<double>::iterator i; //An iterator to a std::vector<double>
我想知道如果它是可能的,給定的迭代器類型,推導出「相應容器」的類型(這裏我假設每個容器都有一個且只有一個(非const)迭代器)。
更精確地,我想一個,使得模板元函數,它與所有STL容器的工作原理(無需手動專門它爲每個單個容器),例如:
ContainerOf< std::vector<double>::iterator >::type
評估爲
std::vector<double>
可能嗎? 如果不是,爲什麼?
非常感謝您的幫助!
你想了解一個Iterator的概念問題?即如果它是隨機訪問? STL爲此使用標籤。通常沒有理由知道迭代器來自哪裏。 – pmr 2010-06-10 18:03:01
你知道最前面你是否有迭代器進入7個STL容器之一,還是你還需要一個「else」子句? – MSalters 2010-06-11 12:56:28