Ich lese den Boost asio http Server Beispielcode (siehe http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/example/cpp11/http/server/connection.cpp) und finde die auto self(shared_from_this());
Variable wurde im Erfassungsbereich ([this, self]
) verwendet. Aber die Selbstvariable wurde nicht in der Lambda-Funktion verwendet. Was bringt es dann, das zu tun?Was ist der Grund für die Verwendung der Auto-Self-Variable (shared_from_this()) in der Lambda-Funktion?
19
A
Antwort
26
Dies wird getan, um sicherzustellen, dass das Objekt connection
den asynchronen Vorgang überlebt: solange das Lambda lebt (d. H. Die asynchrone Operation läuft), ist die connection
Instanz ebenfalls aktiv.
Verwandte Themen
- 1. Was ist der Grund für die Verwendung des richtigen Datentyps?
- 2. Was ist der Grund für '//' in Python?
- 3. Was ist der Grund für `std :: make_tuple`?
- 4. Was ist der Grund für cbegin/cend?
- 5. Was ist der Grund für diese Ausgabe?
- 6. Was ist der Grund für SwingWorker?
- 7. Was ist der Grund für die vorläufige Definition in C?
- 8. Was ist der Grund für die Verwendung der OPTION-Anfrage vor dem POST bei CORS-Anfragen?
- 9. Was ist der Grund von @strongify
- 10. Was ist der Grund für die Qt-Benennung von Klassen?
- 11. Was ist der Grund für Swifts Größenmethoden, die `Int`s?
- 12. Was ist der Grund für die Makefile-Whitespace-Syntax?
- 13. Was ist der Grund für die Warnung "Zeiger fehlt ein Spezifizierer für die Angabe der Nullabgabefähigkeit"?
- 14. In Bezug auf ASP.NET Caching, was ist der Grund oder der Grund für gleitende Ablauf?
- 15. Was ist der Grund für #pragma einmal in Header-Wachen?
- 16. Was ist der Grund für die Warnung "Zuweisung in Bedingung" in der Zend Studio IDE?
- 17. Was ist der Grund für boost :: none_t Implementierung?
- 18. Was ist der Grund für die Verwendung von Def und Defn, anstatt nur zu definieren?
- 19. Was ist die Verwendung der Pattern.quote-Methode?
- 20. Was ist der Grund für die Verwendung von requestMatchers(). AntMatchers() ohne ein Verb im Frühling Sicherheit?
- 21. Was ist die Verwendung der "abhängigen" Aggregation?
- 22. Was ist der Grund für dieses undefinierte Verhalten?
- 23. Was ist der Grund für den JVM-Exitcode 1073807364?
- 24. Was ist der Zweck der Verwendung der [^ Notation in scanf?
- 25. Was ist der Grund für das Design von GUIDs?
- 26. Was ist der Zweck der Verwendung von final für die Schleifenvariable in der erweiterten for-Schleife?
- 27. Was ist der Grund für den Header HTTP Date?
- 28. Was ist der Grund für OpenShift-Fehler ungültige ImageStreamTag?
- 29. Was ist und was ist die Verwendung der Closure „Richtlinie“
- 30. Was ist der mögliche Grund für diese Ausgabe?
Gute Erklärung. Haben Sie vielleicht eine Meinung über die Follow-up-Frage unter http://stackoverflow.com/q/29613178/836097? –