我對reverse iterator with rbegin(), rend() and operator++ of the class string
的執行感興趣,我在google找不到它,我該怎麼辦呢?在此先感謝任何幫助或任何鏈接實現字符串類
Q
實現字符串類
2
A
回答
5
您可以查看實施頭文件。 (例如,Linux上的/usr/include/c++/4.1.2/string
)。這通常只是將真正的肉所在的其他頭部的負載拉入,如bits/basic_string.h
。
我不知道他們在哪裏居住,例如, VC++,但通常你可以通過創建一個std::string
來獲得Intellisense,選擇它並按下F12。
0
在STL中有一個基本的實現reverse_iterator。
它被Iterator
模板化以被恢復。
的想法很簡單,如果你看一個範圍:
[first, second, .... last]
^ ^
begin end
rend rbegin
有額外的工作完成後,使用此實現與純反向迭代,因爲對於每個解引用,你需要複製你持有的迭代器將其遞減,然後對其進行解引用。
0
雙向迭代器的反向迭代在std::reverse_iterator
模板中實現。
反向迭代器爲std::string
實現並不需要超過:
template <xxx>
class basic_string
{
public:
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
typedef std::reverse_iterator<iterator> reverse_iterator;
reverse_iterator rbegin() { return reverse_iterator(this->end()); }
const_reverse_iterator rbegin() const { return const_reverse_iterator(this->end()); }
reverse_iterator rend() { return reverse_iterator(this->begin()); }
const_reverse_iterator rend() const { return const_reverse_iterator(this->begin()); }
//...
};
(複製從GCC的實現)
相關問題
- 1. C++類字符串實現
- 2. 字符串類實現的差異
- 3. 實現字符串映射
- 4. 如何爲結構/字符串類實現比較運算符?
- 5. 實現讀類型類型解析字符串包括「$」
- 6. JVM重用如何實現字符串子字符串?
- 7. 大字符串的可讀流實現
- 8. 複製字符串數組實現Ç
- 9. 實現字符串搜索功能
- 10. Linq to Entities實現DateTime.ToString(字符串)
- 11. 字符串匹配如何實現
- 12. 不使用字符串實現Int64.ToString
- 13. 陷入縮寫實現ruby字符串
- 14. 如何實現全局字符串C#
- 15. 一套字符串高效實現
- 16. 基於連接字符串實現GetHashCode
- 17. 實現字符串查找方法
- 18. 實現字符串替換功能
- 19. Python字符串插值實現
- 20. 使用字符串實現IComparable
- 21. C++實現字符串匹配的ALG
- 22. Haskell中有效的字符串實現
- 23. 排列字符串實現的問題
- 24. 如何實現字符串操作?
- 25. qmail中字符串的stralloc實現
- 26. C++ 11 constexpr字符串實現
- 27. 字符串實習表現問題
- 28. CQEngine字符串查詢實現
- 29. 如何在字符串上實現「EndsWith」?
- 30. 在android中實現字符串比較
對於VC++,它的東西,如C:\ Program Files文件\微軟的Visual Studio 9.0 \ VC \ include(只需搜索標題名稱)。 – alxx 2010-10-04 12:04:45