3
A
回答
8
這是一個pointer to member運算符。
4
2
這是使用指針成員變量時使用的運算符。見here。
2
。*解除引用類成員的指針。當你需要調用一個函數或訪問另一個類中包含的值時,它必須被引用,並且在該進程中創建一個指針,該指針也需要被刪除。 。*運算符會這樣做。
3
簡單的例子:
class Action
{
public:
void yes(std::string const& q) { std::cout << q << " YES\n"; }
void no(std::string const& q) { std::cout << q << " NO\n"; }
};
int main(int argc, char* argv[])
{
typedef void (Action::*ActionMethod)(std::string const&);
// ^^^^^^^^^^^^ The name created by the typedef
// Its a pointer to a method on `Action` that returns void
// and takes a one parameter; a string by const reference.
ActionMethod method = (argc > 2) ? &Action::yes : &Action::no;
Action action;
(action.*method)("Are there 2 or more parameters?");
// ^^^^^^ Here is the usage.
// Calling a method specified by the variable `method`
// which points at a method from Action (see the typedef above)
}
作爲附帶說明。我很高興你不能超載這個運營商。 :-)
相關問題
- 1. 是什麼?:運算符
- 2. 什麼是##運算符?
- 3. C中的'#'運算符是什麼?
- 4. 什麼是C++中的static_case運算符?
- 5. 什麼是<=用C++運算符
- 6. 什麼是重寫的C運算符++
- 7. 什麼是c運算符>>
- 8. 什麼是C#中的「??」運算符?
- 9. 什麼是Java「= +」運算符?
- 10. 什麼是 - >運算符?
- 11. 什麼是「===」運算符?
- 12. 什麼是()=>運算符?
- 13. 運算符&&是什麼?
- 14. 什麼是「?」。運算符在C#中做什麼?
- 15. 什麼是<<運算符?
- 16. 什麼是| =賦值運算符?
- 17. *(++ ptr)是什麼類型的運算符?
- 18. ==〜運算符是做什麼的?
- 19. >?=運算符是什麼意思?
- 20. &運算符是什麼意思?
- 21. 模運算符的語義是什麼?
- 22. 運算符模塊中`in`的等效運算符是什麼?
- 23. 「| =」運算符在C#中做什麼?
- 24. 「| =」運算符在C#中表示什麼?
- 25. **運算符在C中表示什麼?
- 26. 「| =」運算符在C中表示什麼?
- 27. - >運算符在C中做什麼?
- 28. #和##運算符在C中做什麼?
- 29. 「=」運算符返回什麼?
- 30. - > *運算符究竟是什麼?