c++ - How do I let my self-written iterator support ->? -
i writing own iterator in c++:
class my_iterator { entity operator*() { ... } my_iterator& operator++() { ... } }
i can dereference entity using * operator. however, can let custom iterator support ->
operation (followed property or method of dereferenced entity)?
is there operator can implement support ->
?
yes, overload ->
if want special behavior, otherwise it's standard behavior on pointers.
for case you'll have like
entity* operator->() { return ptr_to_entity; }
this odd because ->
overload returns pointer object , ->
used on that.
eg above makes:
my_iterator_instance->foo === ptr_to_entity->foo
Comments
Post a Comment