Sto provando a creare un iteratore che può solo riferirsi a tipi di valori reali, non a riferimenti. E 'possibile utilizzare boost::iterator_facade
o mi richiede di avere valori che possono essere restituiti da indirizzo \ riferimento.boost iteratore facciata e dereferenziazione()
per essere più specfic, il mio iteratore restituisce un std::pair
di riferimenti, il che significa che i miei iteratori value_type
non viene memorizzata da nessuna parte, ma create al volo su dereferenziazione (come std::map::iterator
).
Grazie per questa risposta, mi ha davvero aiutato. Ho una domanda però, prima di specificare l'argomento del template di riferimento, ho appena provato a restituire il valore. Questo ha compilato, ma mi ha dato risultati molto strani, come i puntatori nella mia classe che diventano nulli in tempi strani. Suppongo che la mia domanda sia, perché è stata compilata? – FlamFace