Przykro mi, jeśli to pytanie zostanie zgłoszone, ale nie mogę łatwo znaleźć rozwiązania w Internecie. Jeśli przesłonię operatora()() jakie zachowanie to określa?Co definiuje operator()()?
5
A
Odpowiedz
8
operator()
jest operatorem wywołania funkcji, tj. Można użyć obiektu odpowiedniego typu jako obiektu funkcji. Drugi zestaw nawiasów zawiera listę argumentów (jak zwykle), która jest pusta. Na przykład:
struct foo {
int operator()() { return 17; };
};
int main() {
foo f;
return f(); // use object like a function
}
Powyższy przykład pokazuje sposób, w jaki operator jest zadeklarowany i wywołany. Realistyczne użycie prawdopodobnie uzyska dostęp do zmiennych członkowskich w operatorze. Obiekt funkcji są używane w wielu miejscach w standardowej bibliotece C++ jako punkty dostosowania. Zaletą używania obiektu, a nie wskaźnika funkcji, jest to, że obiekt funkcji może mieć dołączone do niego dane.
Powiązane problemy
- 1. Co to makro definiuje?
- 2. Co definiuje "aktywny" wątek?
- 3. Dlaczego Scala definiuje operator "+ =" dla typów krótkich i bajtowych?
- 4. Co zwraca operator ++ (lub -)?
- 5. Co oznacza operator ': ='?
- 6. Co robi operator ^?
- 7. Co oznacza operator void *()?
- 8. C# co robi operator ==?
- 9. Co to jest aries, operator?
- 10. Co oznacza operator. = W PHP?
- 11. Co oznacza operator C# =>?
- 12. Co to jest operator * = -1
- 13. Co oznacza operator "/ =" w JavaScript?
- 14. Co oznacza operator/= w Haskell?
- 15. uwsgi: Co definiuje liczbę pracowników/procesów, których potrzebuje aplikacja django?
- 16. Preprocessor Definiuje w Maszynopisie
- 17. Procesor zrzutu GCC definiuje
- 18. Kiedy GCC definiuje NDEBUG?
- 19. AutoMapper definiuje poziom mapowania
- 20. Co robi operator/= w języku C#?
- 21. Assert.fail (node.js): co oznacza parametr Operator? Moduł
- 22. Co dokładnie robi operator: = w Wiąz?
- 23. Co to jest operator "" w C++?
- 24. Co to jest operator & = w Javie
- 25. Co to jest operator diamentów w Javie?
- 26. Co robi operator unarnego znaku zapytania (?)
- 27. Co robi operator karetki (^) w Pythonie?
- 28. Co oznacza podwójny wykrzyknik !! operator oznacza?
- 29. Co oznacza operator ">> =" w C?
- 30. Unary "~" operator - Co dokładnie się tutaj dzieje?
To operator połączeń funkcyjnych. Może się okazać, że jest to przydatne: http://stackoverflow.com/questions/4421706/operator-overloading – chris