[英]STL - Why use the scope resolution operator for iterator
要訪問STL迭代器,為什么我需要范圍解析運算符,而不是點運算符? 是因為迭代器是靜態的,並且不屬於特定的類實例嗎?
vector<int>::iterator my_iterator;
並不是
vector<int> numbers;
numbers.iterator;
點和箭頭( ->
)運算符用於訪問特定於給定實例的所有數據(成員變量,函數)。
范圍解析運算符用於訪問特定於給定類型的所有數據(靜態成員變量,靜態函數,類型),而不是實例。 請注意,成員類型從不是特定於實例的,因此您始終使用type::member_type
來訪問它們。
a::b
命名一個類型; ab
引用變量。 在您的示例中, my_iterator
是變量的名稱, vector<int>::iterator
是其類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.