我想了解何時實際使用iterator::value_type
。何時使用迭代器的「value_type」?
因爲,迭代器的所有運算符似乎只使用iterator::pointer
和iterator::reference
。
問題:是iterator::value_type
實際用於什麼?
額外的問題:會的迭代器從
std::iterator<std::random_access_iterator_tag, int, std::ptrdiff_t, bool*, bool&>
提出了一些語義問題遺傳嗎?
編輯:要理解爲什麼我問這個問題,是因爲我在一個迭代工作的類型,其pointer
和reference
是代理類。
關於EDIT,在這種情況下,它當然有用的'value_type'作爲一個單獨的'typedef',由於'remove_reference_t'是不再底層值的類型的,但具有代理的類型。 –
vsoftco