Löse folgende Gleichung: RTTI=evil



  • Wer meint, Singletons sind ein Ersatz für globale Variablen, der hat Singletons nicht kapiert.

    -*_

    dynamic_casts sind auf 64 bit MS Systemen extrem lahm.



  • Codetier schrieb:

    Wer meint, Singletons sind ein Ersatz für globale Variablen, der hat Singletons nicht kapiert.

    Blablabla



  • Dein Niveau ist immer wieder beeindruckend.



  • Natürlich, was hast du denn erwartet?



  • Etwas mehr als Blablabla



  • Als Antwort auf den Unfug den du da losgelassen hast?
    I don't think so.



  • Du meinst also wirklich, dass Singletons als Ersatz für globale Variablen gedacht sind?



  • Codetier schrieb:

    dynamic_casts sind auf 64 bit MS Systemen extrem lahm.

    In Visual C++ vielleicht.



  • Vielleicht war's so gemeint:
    Singletons SIND globale Variablen. Wenn man das weiß, war der Spruch "Wer meint, Singletons sind ein Ersatz für globale Variablen, der hat Singletons nicht kapiert." in der Tat nicht so prickelnd.



  • Genau dieser Gedanke führt dazu das Singleton immer als "besserer" Ersatz für globale Variablen gesehen werden. Der Name sagt doch schon für was sie da sind. Für alles wovon es nur eines geben darf.



  • TdZ schrieb:

    Ist RTTI etwa sowas wie die dunkle Seite der Macht in C++ ?

    Das ist meist historisch bedingt, da alte C++ Compiler mit RTTI so ihre Probleme hatten. Aktuell sollte man RTTI immer verwenden, es hat keinen Sinn darauf zu verzichten.



  • volkard schrieb:

    kennst du wichtige oder häufige fälle anderer art? oder kennst du einen programmiertheoretischen grund, weshalb RTTI nötig wäre?

    Wenn Du x von einer Basisklasse abgeleiteten Objekte in einem Container halten willst, z.B. in einem Grafikprogramm Rectangle, Circle, Line, Point, deren Oberklasse Drawable ist. Manche C++ Programmierer würden dazu schlechtes Design sagen. Aber es ist aber ein kohärentes Design.



  • C++Fan 2009 schrieb:

    volkard schrieb:

    kennst du wichtige oder häufige fälle anderer art? oder kennst du einen programmiertheoretischen grund, weshalb RTTI nötig wäre?

    Wenn Du x von einer Basisklasse abgeleiteten Objekte in einem Container halten willst, z.B. in einem Grafikprogramm Rectangle, Circle, Line, Point, deren Oberklasse Drawable ist. Manche C++ Programmierer würden dazu schlechtes Design sagen. Aber es ist aber ein kohärentes Design.

    aber dann mache ich doch zeichenDing->draw() und draw ist virtual. du müßtest konkreter werden.



  • Codetier schrieb:

    Genau dieser Gedanke führt dazu das Singleton immer als "besserer" Ersatz für globale Variablen gesehen werden. Der Name sagt doch schon für was sie da sind. Für alles wovon es nur eines geben darf.

    ist heute der tag der allgemeinplätze?



  • volkard schrieb:

    oder kennst du einen programmiertheoretischen grund, weshalb RTTI nötig wäre?

    Reflection wäre da an erster Stelle zu schreiben. In C++ muß man ohnehin viel machen, damit Reflection umgesetzt werden kann, aber ohne RTTI ist es ein Krampf.



  • Braucht man Reflection wirklich oft in C++? Wäre es hierfür nicht meist geeigneter, gleich eine dynamischere Sprache zu nehmen?

    @ volkard: Mir fällt sonst auch nicht gleich ein wichtiger Fall ein, aber gerade Exceptions kommen wohl in fast allen C++-Programmen vor...



  • Nexus schrieb:

    aber gerade Exceptions kommen wohl in fast allen C++-Programmen vor...

    ähm, ja. um exceptions zu haben, darf ich im compiler RTTI nicht abschalten. aber ich als programmierer fasse keine RTTI-sachen an.

    und reflection paßt nicht zu c++. hat eh nur den sinn, daß der xml-reader das spielstand-laden um den faktor 100 verlangsamt, und ich mir schon wieder einen fetteren prozessor kaufen muß. 🕶



  • Nexus schrieb:

    Braucht man Reflection wirklich oft in C++?

    Nein, denn es ist ja nicht vorhanden 😉

    Mit Reflection kann man schon ein bißchen mehr machen, als nur die XML-Serialisierung zu vereinfachen 😉



  • audacia schrieb:

    Mit Reflection kann man schon ein bißchen mehr machen, als nur die XML-Serialisierung zu vereinfachen 😉

    klar, man kann mir reflection auch den weihnachtsbaumsimulator dynamischer und bunter machen. du sagst leider nicht aus, ob man damit auch was sinnvolles machen kann und legst kein prüfbares beispiel dazu.



  • einfacher Pluginsysteme schreiben.


Anmelden zum Antworten