Was wird mit dem überlappenden Teil des Boosts passieren, sobald C ++ 0x Mainstream wird?

StackOverflow https://stackoverflow.com/questions/405175

  •  03-07-2019
  •  | 
  •  

Frage

Was wird mit dem überlappenden Teil des Boosts passieren, sobald C ++ 0x Mainstream wird?

Wird Boost noch alles enthalten, was es früher früher hat, oder werden sie die Bibliothek anpassen, um sie mit dem neuen STD :: Zeug zu aktualisieren?

Wird Boost sowohl eine normale C ++ - Version als auch eine C ++ 0x -Version haben, die sie pflegen?

War es hilfreich?

Lösung

Einer würde Hoffnung Dieser Boost unterstützt aus mehreren Gründen weiterhin bestehende Klassen.

Erstens gibt es einen Code, der die überlappenden Funktionen in Boost verwendet, die für einige Zeit unterstützt werden müssen.

Zweitens ermöglichen es mir überlappende Implementierungen, auszuwählen, welches ich lieber verwenden würde. Es könnte einen Unterschied zwischen std :: frob und boost :: frob geben, der für mein Projekt wichtig ist, und eine Wahl ist gut.

Langfristig würde ich jedoch eine Migration in Richtung Standard von den Anwendungsautoren und den Tools -Anbietern erwarten. Das macht es zu einer weniger riskanten Entscheidung, mit STD :: zu gehen.

Andere Tipps

Ich bin nicht mit Boost verbunden und habe keine Vorstellung davon, was sie tun werden, aber es scheint, als würde Boost unberührt bleiben.

Es wurde bereits TR1 (VS 2008 Feature Pack) veröffentlicht und Boost wurde unberührt. Da viele Benutzer Boost oder TR1 noch nicht übernommen haben, ist meine Vorhersage, dass für mindestens fünf Jahre Boost- und C ++ 0x -Bibliotheken in verschiedenen Namespaces existieren und für C ++ 0x -Benutzer sowie C ++ - Benutzer verfügbar sind.

Namespaces machen dies für die Boost-Entwickler etwas nicht aus. Es gibt keine direkte Auseinandersetzung zwischen den Boost -Bibliotheken und den Standardbibliotheken, da sie in separaten Namespaces existieren. Daher haben Änderungen des Namespace STD (zum Beispiel die Zugabe von STD :: TR1) keinen direkten Einfluss auf den Boost.

Beachten Sie jedoch, dass Sie, wenn Sie beide Bibliotheken (STD und Boost) in den globalen Namespace importieren, Probleme haben.

Das folgende Zitat aus der Boost TR1 -Dokumentation wirft auch etwas Licht in Bezug auf Boost -Implementierung von TR1 -Komponenten aus, was darauf hindeutet, dass die entsprechende Boost -Bibliothek auf absehbare Zeit aufrechterhalten wird:

Die TR1 -Bibliothek bietet eine Implementierung des technischen Berichts C ++ über Standardbibliothekserweiterungen. Diese Bibliothek implementiert die TR1 -Komponenten nicht selbst, sondern eine dünne Wrapper, die die TR1 -Implementierung Ihrer Standardbibliothek (falls eine) enthält, ansonsten enthält sie die Äquivalente der Boost -Bibliothek und importieren sie in den Namespace std :: tr1.

Meinst du TR1?

Boost unterstützt bereits TR1. Alle Klassen von Boost, die in STD :: TR1 übernommen wurden, sind in diesem Namespace von Boost erhältlich. Siehe folgende Dokumentation.

http://www.boost.org/doc/libs/1_37_0/doc/html/boost_tr1.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top