1
例如,我可以定義在某種程度上類似於一個容器:什麼時候將const_iterator聲明爲一個常量迭代器?
template <typename T>
class Example
{
public:
using value_type = T;
using iterator = value_type*;
using const_iterator = const iterator;
//etc
};
然而,是不是好與用戶定義的迭代器做到這一點?
template<typename T>
class Example
{
public:
using value_type = T;
/*friend?*/ class iterator;
using const_iterator = const iterator; //is this okay?
//etc
};
詳細的解釋將被讚賞。
所以,在第二種情況下,這是否意味着常量迭代器只能指向一個特定的位置? – AldenB
@AldenB正確,你不能修改迭代器,所以你不能把它指向別的地方。但是你可以修改它指向的東西。 – juanchopanza
Got it!謝謝 :) – AldenB