 |
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 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 11.08.2009, 21:57 Titel: Code-Spielereien |
|
|
Ich hab grad aus langeweile mit der LinkedList von TPM rumgespielt.. dabei is ein recht kranker code zustande gekommen. Vielleicht kennt ihr das ja auch.. man spielt rum und macht irgentwelchen sinnlosen kram der nett anzuschauen ist (vom code oder ergebnis).
hier meiner:
Code: | #define LL_DEF_ThreadSafe
#include once "linkedlist.bi"
dim foo as linkedlist
dim leute as linkedlist
dim as integer romeo = 1, julia = 2
type mensch
v_herz as linkedlist
v_name as string
end type
'erschaffung der beiden menschen:
cast(mensch ptr,leute.add(cast(mensch ptr, callocate(sizeof(mensch)))).anydata)->v_name = "romeo"
cast(mensch ptr,leute.add(cast(mensch ptr, callocate(sizeof(mensch)))).anydata)->v_name ="julia"
? cast(mensch ptr, leute.item(romeo).anydata)->v_name
? cast(mensch ptr, leute.item(julia).anydata)->v_name
cast(mensch ptr, leute.item(romeo).anydata)->v_herz.add(cast(mensch ptr, callocate(sizeof(mensch)))).anydata = cast(mensch ptr, leute.item(julia).anydata)
cast(mensch ptr, leute.item(julia).anydata)->v_herz.add(cast(mensch ptr, callocate(sizeof(mensch)))).anydata = cast(mensch ptr, leute.item(romeo).anydata)
? "_"
? "Romeo liebt: "& cast(mensch ptr, cast(mensch ptr, leute.item(romeo).anydata)->v_herz.item(1).anydata)->v_name
? "Julia liebt: "& cast(mensch ptr, cast(mensch ptr, leute.item(julia).anydata)->v_herz.item(1).anydata)->v_name
|
/Edit: geht noch ein bischen kranker:
Einfach die letzte zeile hiermit ersetzen:
Code: | ? "Romeos Geliebte liebt:: "& cast(mensch ptr, cast(mensch ptr, cast(mensch ptr, leute.item(romeo).anydata)->v_herz.item(1).anydata)->_
v_herz.item(1).anydata)->v_name |
P.S.: Pointer sind echt lustig xD _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 11.08.2009, 22:29 Titel: |
|
|
Pointer sind auch mal schnell tödlich, insbesondere wenn du solchen Code auch in Produktiv-Projekten einsetzt.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
Verfasst am: 11.08.2009, 22:37 Titel: |
|
|
Als ich mit "Pointern" anfing, wusste ich garnicht, dass man damit soviel machen kann - sowohl von der Funktionalität als auch vom "Überraschungseffekt"... Am besten ist, wenn man die Pointer irgendwie so anordnet, dass daraus eine interne Programmschleife entsteht, obwohl das überhaupt nicht beabsichtigt ist (also Pointer zeigt auf ausführbaren Speicher, der wiederum denselben Pointerverweis aufruft...). Die Ergebnisse sind krank, alles schon selbst erlebt
Ich kann mich noch gut an einen Satz erinnern, als mir mit C++ das "Pointern" beigebracht wurde. Auszug aus einem Buch: Zitat: | C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off | Dem stimme ich vollständig zu  _________________ DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 14.08.2009, 11:51 Titel: |
|
|
Das Pointer gefährlich sind beweisen die Null-Pointer-Root-Exploits im Linux-Kernel, die in letzter zeit bekannt geworden sind. Man müsste nen code basteln, der anderen code auf "bedenkliche" pointer untersuchen kann... also vor dem compilen. Würde den Linux-Jungs (und mädels) ordentlich arbeit ersparen. _________________ // nicht mehr aktiv // |
|
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.
|
|