I „The C++ Programming Language (4. Auflage)“ ich lesen, und ich lief in dieses:Dereferenzierung eine Referenz
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
}
Also von dem, was ich verstehe, sind wir durch c
laufen und einen Verweis bekommen zu x
, das ist die aktuelle Iteration. x
wird dann an den Funktionsaufrufoperator op
übergeben, aber es wird zuerst dereferenziert? Warum sollte x
dereferenziert werden?
Siehe den Kommentar, wo es heißt, dass "C" ist ein Behälter mit Zeigern. Anscheinend will 'op()' keinen Zeiger, sondern den Wert, auf den der Zeiger zeigt. Also musst du indirekt sein. – Barmar