std-function

std:: function vs template

Dzięki C++11 otrzymaliśmy rodzinę wrapperów functora std::function. Niestety, ciągle słyszę tylko złe rzeczy o tych nowych do ... oczekuje się wysokiej wydajności szablony powinny być używane? Edit: Moim kompilatorem jest Visual Studio 2012 bez CTP.

Użycie i składnia std:: function

Jest mi konieczne użycie std::function, ale nie wiem, co oznacza następująca składnia. std::function<void()> f_name = []() { FNAME(); }; Jaki jest cel używania std::function? Czy jest to wskaźnik do funkcji?

C++11 std:: set lambda comparison function

Chcę utworzyć {[3] } z funkcją porównywania niestandardowego. Mogłem zdefiniować ją jako klasę z operator(), ale chciałem cie ... , takich jak korzystanie z delegacji. Jeśli chcesz dokładniejszego wyjaśnienia wszystkich rozwiązań, przeczytaj odpowiedzi:)

Programowanie funkcyjne w C++. Realizacja f(a) (b) (c)

Zajmuję się podstawami programowania funkcyjnego w C++. Próbuję utworzyć funkcję f(a)(b)(c), która zwróci a + b + c. Udało mi ... prostu nie mogę wymyślić, jak zaimplementować funkcję f(a)(b)(c), która jak wcześniej powiedziałem powinna zwrócić a + b + c.

Jak poprawnie sprawdzić, czy funkcja std::jest pusta w C++11?

Zastanawiałem się, jak prawidłowo sprawdzić, czy std::function jest pusty. Rozważ ten przykład: class Test { std::funct ... t (oczywiście) wskaźnikiem. Dlaczego czyste jeśli działa? Co to za Magia? I czy jest to prawidłowy sposób, jak to sprawdzić?

Czy powinienem skopiować funkcję std::, Czy zawsze mogę odwołać się do niej?

W mojej aplikacji C++ (używającej Visual Studio 2010), muszę zapisać funkcję std::, tak: class MyClass { public: ... Dlatego kod wykonywalny nigdy nie jest 'kasowany' i mogę bezpiecznie przechowywać odniesienie do niego. Ale czy to prawda?

Czy argument szablonu (sygnatura) std::function nie jest częścią jego typu?

Biorąc pod uwagę poniższy kod, jaki jest powód tej dwuznaczności? Czy Mogę to obejść, czy będę musiał zachować (irytujące) wy ... noznaczność, gdy dwie funkcje a() są obecne? Próbowałem z VS2010 i g++ V. 4. 5. Obie dają mi dokładnie tę samą dwuznaczność.