【C++】STL(Standard Template Library)相談室 5
■ このスレッドは過去ログ倉庫に格納されています
0263デフォルトの名無しさん
2006/05/21(日) 22:43:48template <typename Fwd>
void foo(Fwd first, Fwd last);
template <typename Fwd>
void foo_dispatch(Fwd first, Fwd last)
{ foo(&*first, &*last); } // ← &*last は合法?
ただし、Fwd はアドレスが連続する要素を指す forward iterator で、
last は何らかの有効な領域の終端( 要するに [first, last) )であるとする。
*last を読み書きするのは当然ダメなんだけど、
&*last でアドレスだけ取得するのはOKなのかな。
それとも、&*last のうち *last の時点で違法な参照外しになる?
■ このスレッドは過去ログ倉庫に格納されています