私は、「C++プログラミング言語(第4版)」を読んでいると私はこれに走った:間接参照参照
template<class C, class Oper>
void for_all(C& c, Oper op) // assume that C is a container of pointers
{
for (auto& x : c)
op(*x); // pass op() a reference to each element pointed to
}
だから、私が理解、我々はc
を反復処理し、への参照を取得しているから、 x
、これは現在の反復です。 x
は、op
という関数呼び出し演算子に渡されますが、最初に逆参照されますか? x
を逆参照するのはなぜですか?
「C」がポインタのコンテナであるとのコメントを参照してください。どうやら 'op()'はポインタを望まないので、ポインタが指す値が必要です。だから間接的にする必要があります。 – Barmar