[英]Difference between std::reverse_iterator member functions: _Get_current() and base()?
兩個成員函數似乎都在做同樣的事情。
在下面的示例中,兩者都返回一個指向同一 memory 位置的迭代器。
a) 有什么實際區別嗎?
b) 為什么我在標准 class 文檔中找不到_Get_current()
的任何信息? 我懷疑下划線前綴是一個線索。
std::string s = std::string( "A B C" ) ;
std::string::iterator iter1 = s.begin();
std::string::reverse_iterator iter2 = s.rbegin();
std::string::iterator iter3 = iter2.base();
std::string::iterator iter4 = iter2._Get_current();
如果您看到以_
后跟大寫字母開頭的標識符,則該標識符正被 C++ 實現的內部使用,您永遠不應使用該標識符。 您沒有看到它記錄在案,因為它僅供內部使用,特定於庫類型的實現。
只需使用實際界面即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.