簡體   English   中英

沒有容器時作為迭代器返回什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM