我看了一些書 書上光說了迭代器怎麼用,但是我不知道容器和迭代器怎麼聯系的,因為書上沒有完整的代碼。
比如說如下代碼:
set actors1;
set actors2:
set result;
set::iterator role; ( 1 )
如上所示, 我不明白(1)那句是什麼意思 難道說在容器類中已經定義了要使用的迭代器嗎?
還是說這句話就建立了這個類和這個迭代器的聯系。
之後的代碼利用 copy 函數將actors1和actors2賦給了result 然後用左包含的方式遍歷了整個數據項 那麼迭代器是不是在copy過程中被改變了?書上還說如果改變基本容器,迭代器會失效,那它豈不是失效了?那麼它又是什麼確定的呢?應該是我理解有誤吧?
迭代器是模版,容器按照它的標准來進行元素遍歷。
改變容器的話,需要重新生成迭代器,不能用之前保存的迭代器,因為它還是用的之前位置。