[問題] operator請教 .*和 ->*

看板C_and_CPP作者 (我愛阿蓉)時間16年前 (2010/02/08 21:04), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串1/1
請教一下 我看到pointer to member的用法 如此網頁的範例 http://caterpillar.onlyfun.net/Gossip/CppGossip/MemberFunctionPtr.html 我想問一下 兩個operator 1. ->*和 .* 如wiki解釋 http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B 拿->*來說 Bind pointer to member by pointer 在網頁上範例就是這個呼叫 (safePtr->*mfPtr1)(2, 100); 我該怎麼去把->*套入她名詞的解釋 Bind 什麼 to member by 什麼 因為safePtr的class裡面並沒有 mfPtr1...... 所以這operator 給我的感覺是bind 這個mfPtr1 到 safePtr 的member by "????" 好像 不知道怎麼填 他的by pointer的pointer指的是什麼?? 相對另一個 .* operator 為啥說是Bind pointer to member by "reference" 相對網頁上範例是 (safeArray.*mfPtr1)(i, (i+1)*10); 解釋變成 bind 這個mfptr1 到 safePtr 的 member by "???" 那個by 該怎麼翻譯 讓我有點難理解 而且他所謂的reference是什麼? 感覺我整個翻譯錯了.... 請了解的版友指點一下讓我好理解....其實之前有看過但是完全忘一乾二淨 現在想徹底理解一下.... 並且想問使用這個pointer to member方法的時機 因為平常看code或是自己寫 好像不會想去用這個方法 有沒有什麼範例可以讓我理解 知道說以後design時可以考慮這種方法 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.64.222

02/08 21:12, , 1F
反正 .* 左邊是物件,然後 ->* 的左邊是指向物件的指標。
02/08 21:12, 1F

02/08 21:13, , 2F
你問的 by "???" 就是運算子左邊的東西。
02/08 21:13, 2F

02/09 15:07, , 3F
02/09 15:07, 3F

02/09 20:06, , 4F
謝謝各位^^
02/09 20:06, 4F
文章代碼(AID): #1BS0lVEi (C_and_CPP)