我對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. 字符串類實現的差異
- 2. 實現字符串映射
- 3. 如何爲結構/字符串類實現比較運算符?
- 4. JVM重用如何實現字符串子字符串?
- 5. 陷入縮寫實現ruby字符串
- 6. 字符串匹配如何實現
- 7. 實現字符串替換功能
- 8. Linq to Entities實現DateTime.ToString(字符串)
- 9. 字符串實習表現問題
- 10. Haskell中有效的字符串實現
- 11. qmail中字符串的stralloc實現
- 12. 複製字符串數組實現Ç
- 13. 如何實現字符串操作?
- 14. 使用字符串實現IComparable
- 15. 如何在字符串上實現「EndsWith」?
- 16. 在android中實現字符串比較
- 17. 基於連接字符串實現GetHashCode
- 18. 如何實現全局字符串C#
- 19. Python字符串插值實現
- 20. 如何在LLVM中實現字符串數據類型?
- 21. 如何使用STL實現自定義字符串類?
- 22. 實現接口類型的字符串數組屬性
- 23. 從字符串類實例化
- 24. c#實例化字符串中的類
- 25. Java與實例或字符串類似
- 26. 從字符串創建類實例
- 27. 如何實現GetStringValueByField(n接口{},字段名稱字符串)字符串
- 28. 匹配字符串文字時,「字符大小沒有實現」字符?
- 29. 在字符串中發現字符串的出現
- 30. MS C#實現字符串首先檢查不可變基字符串的ReferenceEquals?
對於VC++,它的東西,如C:\ Program Files文件\微軟的Visual Studio 9.0 \ VC \ include(只需搜索標題名稱)。 – alxx 2010-10-04 12:04:45