0
我有一個類,其中包含一個一維雙數組,我希望爲迭代器提供begin()和end()方法而無需編寫額外的類。但是,我不確定begin()和end()的返回類型是什麼。我的直覺告訴我,我可以簡單地返回一個double *類型,因爲它是一個double數組的地址,但是我必須通過std :: iterator來實現它以符合STL嗎?如何爲由數組支持的模板類定義begin()和end()?
template <size_t size>
double * ContainerClass<size>::end(){
return std::end(mContainer);
}
你說得對,任何'T *'都爲你實現了'iterator'(特別是隨機訪問迭代器)。 –
不可能在沒有看到類定義的情況下回答。 –
'std :: iterator'不推薦順便說一句。你可以看一下'std :: array'作爲實現一維數組的東西的例子。 – chris