11
在我目前正在實現的算法中,我需要操作struct T的std :: list。 T保存對T的另一個實例的引用,但此引用也可以是「未分配」。 起初,我想用一個指針來保存這個引用,但是使用迭代器可以更容易地從列表中移除。迭代器等價於空指針?
我的問題是:如何用我的迭代器表示等價於空指針?
我閱讀的一般解決方案是使用myList.end(),但在我的情況下,我需要測試迭代器是否爲「null」或不是,我可以添加或刪除元素到列表之間的時間我存儲的迭代器,當我從列表中移除它...我應該使迭代器指向包含「null」元素的已知列表嗎?還是有更優雅的解決方案?
好的,太棒了!我有一種感覺,end()將是一個「規則的例外」,並且它會代表你將在列表中的下一個元素push_back ... – Mikarnage 2010-12-11 23:28:47
不,那STL比那更聰明。 :) – suszterpatt 2010-12-11 23:31:22
我很好奇:有誰知道這是否在'標準'以及? – sje397 2010-12-11 23:32:13