0
我在讀「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