2016-07-12 29 views
1

Auf der Boost-Website habe ich keine Informationen zur Verwendung oder RTTI von boost :: any gefunden.Braucht Boost :: Any RTTI?

Ich lese an einigen Stellen, dass dies eine Voraussetzung ist, aber dann baute ich ein einfaches Testprojekt, und es baut sowohl mit als auch ohne RTTI.

Also, wird RTTI mit seinen Leistungs- und Speicherproblemen von boost :: any und ähnlichen Klassen benötigt?

+0

Ich habe gerade ein einfaches Programm mit boost_any zu bauen versucht, und eine ausführbare Datei mit -fno-rtti gebaut war tatsächlich größer als ein gebaut ohne. Ich habe keine Ahnung was es bedeutet. –

Antwort

3

Da Boost 1.57 RTTI nicht für boost::any benötigt wird. Beachten Sie, dass alle Objekte, die als boost::any verwendet werden, kopierbar sein müssen.

https://svn.boost.org/trac/boost/ticket/10346

+0

Ich muss sagen, dass, wenn Compiler würde "Typid" nicht nur mit RTTI deaktiviert und erlaubte seine Verwendung in nicht polymorphen Kontext, würde es funktionieren, ohne Notwendigkeit, das Rad neu zu erfinden. –

+0

@paweldac: OK, das ist der Grund für die widersprüchlichen Informationen, die ich gefunden habe. – Pietro