這是一個指向調用對象的指針(它返回r值)。&**完全返回?
*這是一個指向調用對象指針的指針(它返回地址的值)。
**這是一個指向調用對象(???)指針指針的指針。
& ***這是對調用對象(???)的指針的指針指針的引用。
std::vector<int>:: iterator i = vector1.begin();
i是指向它自己的r值的指針(返回它自己的值)。
* i是包含在向量中的對象的r值的指針(返回&值中指出的值)。
** i是指向包含在向量(???)中的對象的r值指針的指針。
我真的很困惑。
這裏我們找到了表達& **此示例代碼:
class _Iter
{
private:
ListElem *pCurr;
const List *pList;
public:
_Iter(ListElem *pCurr, const List *list)
: pCurr_(pCurr), pList(list)
{}
T& operator*() { return pCurr_->data; }
T* operator->() { return &**this; }
};
調用者獲取'&pCurr-> data'。 –
你必須記住'*'完全是向後的,取決於它是在聲明還是在可執行語句中。 –
「這是一個指向調用對象的指針(它返回r值)」命名變量不能是r值 –