Qt 5.0 introdotto metodi iteratore cbegin()
e cend()
nelle diverse classi contenitore come QList o QMap.CBEGIN()/CEND() vs constBegin()/constEnd()
Ma ci sono anche i metodi constBegin()
e constEnd()
in quelle classi.
Tutti questi metodi sono const
e restituiscono uno stile STL const_iterator
.
- fare
cbegin()
/cend()
avere la stessa funzionalità diconstBegin()
/constEnd()
? Per me sembra così, ma nulla è indicato nei documenti di QList, QMap o container classes. - C'è uno scenario in cui si dovrebbe usare
cbegin()
/cend()
anzichéconstBegin()
/constEnd()
o viceversa?
Controllare la sorgente, Luke ... [QList] (http://code.woboq.org/qt5/qtbase/src/corelib/tools/qlist.h.html#307), [QMap] (http: //code.woboq.org/qt5/qtbase/src/corelib/tools/qmap.h.html#521), ecc. (TL; DR: sono identici) – peppe
@peppe Buon punto. Ma quando non è dichiarato nei documenti che sono identici, chi garantisce che rimarranno identici in futuro? –
Che un cambiamento comportamentale potrebbe infrangere così tanto codice che è impossibile che accada. – peppe