[英]What to return as an iterator when there is no container?
我有一個對象的繼承結構,其中begin()和end()作為基類中的純虛擬成員函數。 我正計划從這個對象構建一個復合結構。 這個內部對象具有std :: vector成員,begin()和end()從中獲取數據。 但是在葉子類中沒有向量。 現在,我嘗試在葉類中找到begin()和end()的返回值。 什么是這樣做的好方法?
最簡單的方法是在葉子類中有一個向量成員,其中沒有任何元素來增加begin()和end(),但這感覺不對。
您可以在葉類中實現一個非常簡單的迭代器類,該類僅返回偽迭代器。 例如begin()返回與end()返回相同的迭代器。 您還需要實現一些比較功能。 我不太確定std :: iterator如何處理此問題,但是也許其中有一些您需要的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.