Boost ist eine große Sammlung hochwertiger Bibliotheken zur Verwendung in C ++. Boost ist kostenlos und wird oft als "zweite Standardbibliothek" angesehen.
Der folgende Code führt zum Absturz von cl.exe (MS VS2005). Ich versuche, Boost Bind zu verwenden, um eine Funktion für einen Aufruf einer Methode von myclass zu erstellen: #include "stdafx.h" #include <boost/function.hpp> #include <boost/bind.hpp> #include <functional> class myclass { public: void fun1() { printf("fun1()\n"); } void fun2(int i) { printf("fun2(%d)\n", …
Ich benutze boost:shared_ptrin meinem Code ausgiebig . Tatsächlich werden die meisten Objekte, die auf dem Heap zugeordnet sind, von a gehalten shared_ptr. Leider bedeutet dies, dass ich nicht thisin eine Funktion übergehen kann, die eine übernimmt shared_ptr. Betrachten Sie diesen Code: void bar(boost::shared_ptr<Foo> pFoo) { ... } void Foo::someFunction() { …
Was ist das Äquivalent von a static_castmit boost::shared_ptr? Mit anderen Worten, wie muss ich Folgendes umschreiben? Base* b = new Derived(); Derived* d = static_cast<Derived*>(b); bei der Verwendung shared_ptr? boost::shared_ptr<Base> b(new Derived()); boost::shared_ptr<Derived> d = ???
Um das Kopieren einer Klasse zu verhindern, können Sie ganz einfach einen Konstruktor / Zuweisungsoperator für private Kopien deklarieren. Sie können aber auch erben boost::noncopyable. Was sind in diesem Fall die Vor- und Nachteile der Verwendung von Boost?
Ich verwende c ++ 17 mit Boost.hana, um einige Metaprogrammierprogramme zu schreiben. Ein Problem, das mir aufgefallen ist, ist, welche Art von Ausdruck in einem constexpr-Kontext wie static_assert verwendet werden kann. Hier ist ein Beispiel: #include <boost/hana.hpp> using namespace boost::hana::literals; template <typename T> class X { public: T data; constexpr …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.