 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Progger_X Mr. Lagg
Anmeldungsdatum: 24.11.2004 Beiträge: 784 Wohnort: Leipzig
|
Verfasst am: 11.10.2007, 13:27 Titel: FB Templates / std::list? |
|
|
Hallo Leute,
ich habe mich vor kurzem mal wieder an FB rangesetzt, bzw. bin gerade dabei. Da ich länger mit C++ gearbeitet habe, stellt sich mir grad die Frage, ob ich irgendwas wie Listen in C++ habe, oder Vektoren oder dieser ganze Container-Krimskrams.
Und wenn nicht: gibt es irgend eine Möglichkeit, Type's so zu schreiben, dass eine Variable vom Typ eines beliebigen anderen Types genutzt wird?
Also etwa so:
Code: |
TYPE liste<Type>
naechster AS liste PTR
inhalt AS <beliebigerType>
END TYPE
|
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 11.10.2007, 14:13 Titel: |
|
|
Templates gibt's so in FB noch nicht, ist auch eine recht komplexe Geschichte, das zu implementieren:
Wikipedia hat Folgendes geschrieben: |
Schon allein die Umsetzung des Sprachmittels export, das zur Unterstützung von Templates dient, wird mit etwa 2 bis 3 Mannjahren veranschlagt, ein Zeitraum, in dem für andere Programmiersprachen komplette Compiler entstehen.
|
Müsstest dir also immer eigene Listen-Types schreiben, oder evtl. lässt sich auch mit dem Präprozessor etwas machen? _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 11.10.2007, 16:24 Titel: |
|
|
Hab ich bei der interpreteraufhabe so gelöst, ist aber unschön so zu lösen:
Code: |
#macro udt(typ)
Type liste
naechster As liste ptr
inhalt As typ
End Type
#endmacro
udt(integer)
udt(byte)
udt(any ptr)
udt(zstring ptr)
udt(blubber)
....
|
So in etwa sollte es gehen. _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
croco97

Anmeldungsdatum: 04.11.2005 Beiträge: 260
|
Verfasst am: 11.10.2007, 22:22 Titel: |
|
|
Hi Progger_X!
Berechtigte Frage, aber so weit ist FB leider noch nicht .
Aber was noch nicht da ist, lässt sich ja wenigstens in einfacher Art selbst erstellen. Siehe hier:
Oma-Tutorial, Teil 3, Thema Listen und Hash-Listen. Allerdings ist dort push_back, bzw. insert definiert, aber noch nicht delete. Aber das selbst zu machen, dürfte nicht so schwer fallen.
Wenn du es professioneller willst, müsstest du zur glib greifen. Die hat Containerklassen.
Edit: Dein Problem mit "Types von Types". Container-Probleme löst man in C, FB, Pascal etc. anders: Mit Callback-Funktionen und typlosen Pointern. Die Pointer enthalten das Objekt und die Callbacks definieren die typspezifischen Operationen.
Viel Spass damit!
Grüsse!
Croco |
|
Nach oben |
|
 |
helium

Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 12.10.2007, 12:17 Titel: |
|
|
Mao hat Folgendes geschrieben: | Templates gibt's so in FB noch nicht, ist auch eine recht komplexe Geschichte, das zu implementieren:
Wikipedia hat Folgendes geschrieben: |
Schon allein die Umsetzung des Sprachmittels export, das zur Unterstützung von Templates dient, wird mit etwa 2 bis 3 Mannjahren veranschlagt, ein Zeitraum, in dem für andere Programmiersprachen komplette Compiler entstehen.
|
Müsstest dir also immer eigene Listen-Types schreiben, oder evtl. lässt sich auch mit dem Präprozessor etwas machen? |
Ist dir "export" so wichtig? Hast du einen Compiler, der das unterstützt?
Ich glaube nicht, dass hier alles gefordert wird, was C++-Templates können, sondern einfach nur eine einfache Form von Generics/Templates gewünscht ist, so das man typsichere Collections, etc. bauen kann. Ein Sprach-Element, auf das heutzutage keine statisch typisierte Sprache verzichtet. _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 12.10.2007, 14:54 Titel: |
|
|
Nein, hab ich nie behauptet, wollte es bloß mit einfließen lassen um indirekt sowas zu sagen wie "Komplex.".  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|