$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2007-10-23 06:48:53
Hello,
in the file mem_algo_common.hpp there is a class
basic_multiallocation_iterator (line 50ff).
This class contains both definitions for operator* and operator->, where
operator* is implemented as:
value_type operator*() const
{
value_type v = (char*)detail::get_pointer(next_alloc_.next_);
return v;
}
and operator->() as:
pointer operator->() const
{ return &operator*(); }
The second definition confuses both me and my compiler. Does &operator*()
actually mean &(*this)? If yes, wouldn't this mean that operator-> returns
the address of a stack allocated result variable, namely the address of the
result of operator*? If no, what does this actually mean?
Thanks for enlightening me,
Markus