検索

ホームページ  >  に質問  >  本文

c++-primer - 《c++primer》中关于重载操作符->的疑问?

ringa_leeringa_lee2772日前437

全員に返信(1)返信します

  • ringa_lee

    ringa_lee2017-04-17 14:59:54

    return & this->operator*(); で呼び出される -> 演算子はポインタを介して呼び出されるため、オーバーロードの意味はなく、operator-> はオブジェクトを介して呼び出す必要があります。したがって、無限ループは発生しません。
    StrBlobPtr a;
    StrBlobPtr pa = &a;

    a->empty(); // a はオブジェクトであるため、オーバーロードされた関数を呼び出します

    pa->curr; //pa はポインタであり、-> が本来の意味であるため、プライベート メンバーが参照されるためエラーになります。

    返事
    0
  • キャンセル返事