primitives instanceof



  • Wurst schrieb:

    Klassen in der Skriptsprache sind nicht geplant. Ich meinte im Startpost, dass ich beliebige C++-Klassen im Container speichern können will.

    Du meinst sicherlich "Objekte von beliebigen Typen". Aber wozu?

    Wurst schrieb:

    @ krümelkacker: Ich habe nie von beliebig vielen Typen geredet, sondern nur von beliebigen Typen 😉

    Da man Typen nicht "speichert", sondern höchstens "unterstützt", macht das keinen Unterschied.



  • @ dot:
    union will aber keine strings haben.

    @ wxSkip:
    Logisch? Eigenlich nicht.
    Welche Typen ich letztendlich einbauen werde, werde ich mir überlegen, bevor ich mit dem Programmieren anfange. "ergänzen" muss ich also nicht 🙂

    @ krümelkacker:

    Du meinst sicherlich "Objekte von beliebigen Typen". Aber wozu?

    Ja, stimmt, ich meinte Objekte. Wozu, steht doch im Startpost.

    Da man Typen nicht "speichert", sondern höchstens "unterstützt", macht das keinen Unterschied.

    Darum nennt man ihn also den "Arbeitsunterstützer"? 😉



  • Wurst schrieb:

    @ dot:
    union will aber keine strings haben.

    Aber std::string*. Und wie schon erwähnt kannst du in eine variant std::string reinwerfen.



  • Wurst schrieb:

    @ dot:
    union will aber keine strings haben.

    In C++0x wär das kein Problem 😉



  • Wurst schrieb:

    Da man Typen nicht "speichert", sondern höchstens "unterstützt", macht das keinen Unterschied.

    Darum nennt man ihn also den "Arbeitsunterstützer"? 😉

    Du verwechselst wohl wieder Typen und Objekte.



  • Wenn es sich um eine dynamische typisierte Skriptsprache handelt, warum schaust du dir nicht mal eine Implementation an? Zu empfehlen sind Lua oder Scheme in verschiedenen Versionen. Fuer gewoehnlich wird mit union + type tag gearbeitet. Darueber hinaus gibt es kleinere Optimierungen bezueglich einfacher Datentypen wie Byte, Double oder Integer.



  • @ 314159265358979:
    Mit einem Pointer wäre der Gebrauch aber viel schwerer.
    Wie gesagt, boost::variant kann ich nicht verwenden, selbst wenn ich will.

    @ dot:
    Ich will C++0x aber nur verwenden, wenn es gar nicht anders geht, z.B. um boost::variant zu benutzen. Auf halbgare Unterstützung von den Compilern habe ich keine Lust, da warte ich lieber, bis es zum Standard wird.

    @ krümelkacker:
    Ein Objekt wird im Arbeitsspeicher gespeichert. Wieso sollte ich da was verwechseln?

    @ knivil:
    Wenn ich einen einfachen Interpreter finde, werde ich das mal machen.
    Ich entwickle die Sprache aber nur zu "Demonstrationszwecken", nicht, um damit wirklich viel zu programmieren. Garbage Collector, OOP oder sonstwas im Source Code würden mir also nicht helfen, sondern mir eher das Verständis erschweren.



  • Wurst schrieb:

    Mit einem Pointer wäre der Gebrauch aber viel schwerer.

    Nö. Du musst nur die großen 3 richtig definieren.

    Wurst schrieb:

    Wie gesagt, boost::variant kann ich nicht verwenden, selbst wenn ich will.

    Warum denn?



  • Wurst schrieb:

    Ich will C++0x aber nur verwenden, wenn es gar nicht anders geht, z.B. um boost::variant zu benutzen.

    Boost.Variant geht auch auf C++03-Compilern. Zumindest bis zu einem bestimmten Limit (10) an Typparametern auch direkt, danach brauchst du eine Typliste.



  • @ 314159265358979:

    Nö. Du musst nur die großen 3 richtig definieren.

    Die vergess ich immer 😛

    Warum denn?

    Sagte ich doch, weil MSVC keine Variadic Templates unterstüzt.
    Wenn es so ist, wie ipsec sagt, stimmt das natürlich nicht mehr.



  • Wurst schrieb:

    Die vergess ich immer 😛

    Musst du doch nur bei deiner Variablenklasse, das wirst du doch schaffen.

    Wurst schrieb:

    Sagte ich doch, weil MSVC keine Variadic Templates unterstüzt.
    Wenn es so ist, wie ipsec sagt, stimmt das natürlich nicht mehr.

    Natürlich stimmt das, warum sollte er dich anlügen?



  • Musst du doch nur bei deiner Variablenklasse, das wirst du doch schaffen.

    Ich meinte, ich denke nie selber daran. Wenn mich jemand erinnert, bleibt es für ein paar Stunden in meinem Kopf 🙂

    Natürlich stimmt das, warum sollte er dich anlügen?

    Das war keine Anschuldigung, sondern eine Feststellung.


Anmelden zum Antworten