In meinem Projekt verwende ich boost::asio
für Netzwerk- und Thread-Management. Ich möchte einige Funktionen von modernem C++ verwenden, zum Beispiel gemeinsame Zeiger.Soll ich Boost oder die C++ 11 Standardbibliothek bevorzugen, wenn ich Boost bereits verwende?
Es gibt zwei Möglichkeiten: boost::shared_ptr
, da ich bereits Boost verwende, und std::shared_ptr
, da ich einen C++ 11 Compiler verwende. Soweit ich verstehe, sind diese grundsätzlich gleichwertig, jedoch sind sie miteinander unvereinbar.
Ich habe gelesen, dass ich die Standard-Bibliothek Komponenten über Boost bevorzugen sollte, um eine externe Abhängigkeit sinnlos zu verwenden. Allerdings werde ich immer noch Boost verwenden (zumindest bis sie ASIO in die Standardbibliothek integrieren), also benötige ich immer noch diese Abhängigkeit.
Gemeinsame Zeiger sind nur ein Beispiel, gilt diese Frage auf alle Funktionen, die die Standard-Bibliothek von Boost-übernahmen, wie function
, bind
, thread
usw.
meine Situation gegeben, das ist die bevorzugte Implementierung das Merkmal? Gibt es irgendwelche Fehler in Bezug auf die Auswahl, wo ich entweder die Boost- oder Standard-Bibliotheksversion speziell verwenden müsste, wenn ich einige der anderen Boost- oder Standard-Bibliothekskomponenten verwende?
Was wäre ein Grund, die Boost-Alternative zu verwenden, wenn Sie dasselbe aus der Standard-Lib erhalten können? Ich kenne keine – user463035818
Meinung basiert? Vielleicht bin ich eine dogmatische alte Katze, aber die gegenteilige Meinung zu meinen hat keine Gültigkeit. Daher ist eine Antwort konkret. – Bathsheba
Wenn eine Meinung über die Verwendung eines Standards eine Standardmeinung ist, sollte es nicht einfach ein Standard sein? – AOK