 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
FH Super JLI'ler
Alter: 37 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 20.01.2005, 22:53 Titel: []-Operator überladen |
|
|
Hallo alle zusammen,
ich will sinngemäß eine Klasse schreiben, die Arrays behandelt. Sie soll zum Beispiel den []-Op überalden, damit er sicher vor Arrayüberschreitungen ist.
Jetzt aber meine Frage: Wie sieht das aus??? Der muss ja nen Parameter kriegen...
@Patrick: Nein, keine Vektorklasse aus der STL!!! Erstens mag ich die STL net, zweitens schützt auch die net vor Überschreitung.
@MiracleBoy: Guck in deine PNs!!!
Gruß
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free
Zuletzt bearbeitet von FH am 20.01.2005, 23:06, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 20.01.2005, 22:58 Titel: |
|
|
CPP: | datentyp operator [] (int index_X, int index_Y)
{
} |
jetzt sagt mir mal was die STD ist? Ich kenn nur die STL und den namespace std.
Achja, sicher schützt die vor überschreitungen! Es wird ein std::logical_error geworfen Die STL nicht mögen, ist irgendwie... *ugly* _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
 |
FH Super JLI'ler
Alter: 37 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 20.01.2005, 23:07 Titel: |
|
|
Gewöhn dich dran, das ich die STL net mag.
Wieso übernimmt der 2 Ops? Bei 2-Demensionalen? Und was ist dann mit 3D-Arrays?
Gruß
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 20.01.2005, 23:09 Titel: |
|
|
CPP: | datentyp operator [] (int index_X, int index_Y, int index_Z)
{
} |
Zum anderen Thema: Was Du nicht verstehen willst/kannst deklarierst Du als "nicht mögen". Ich interpretiere das als "engstirnig und faul".
Nichts für ungut. _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
 |
FH Super JLI'ler
Alter: 37 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 20.01.2005, 23:17 Titel: |
|
|
Ich hab mit der STL ein anderes Problem: Man kann in sie nicht hineinesehen. Bei anderen Dingen kann ich mit Debugger den Kram intern verfolgen, Aufrufe z.B. in der iostream.h ändern, etc. Ich nutz sie hin und wieder für strings. Auch der Vektor hat schon einen Einsatzbereich, wirft aber halt "nur" einen Fehler. Es ist also nicht so, dass ich es net verstehen will. Ich bin jemand, der mit Vorliebe bis ins kleinste Detail geht, deshalb mag ich auch Assembler. Da kannste fast alles kontrollieren. Wenn mir jemand ein Tut zum schreiben von Binärcode kennt, soll er das sagen! Ich würds gerne lesen. Dieses bis ins kleinste Detail lässt die STL durch ihre Kapselung nicht zu. Kapselung ist jan nicht schlecht, aber sie sollte in bestimmten Fällen umgehbar sein, dass man sie durchbrechen kann. Geht bei der STL nicht, da vorkompiliert, oder was imemr auch...
Trotzdem danke ich für die schnelle Lösung.
Gruß und Danke
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
 |
GreveN JLI Master

Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 20.01.2005, 23:20 Titel: |
|
|
Also beim besten Willen, STL gehört zu C++ wie GOTO zu Basic...
Will sagen, C++ ohne STL ist eigentlich kaum noch vorstellbar...
Wir leben im Jahr 2005, wieso soll ich jedesmal wenn ich eine simple doppeltverkettete Liste brauche mir die Mühe machen und selber was schreiben, wenn ich in der STL eine schnelle, saubere und robuste Vorlage hab?
Ich mein, da kannst du eigentlich genauso gut auch wieder auf C umsteigen...
Die Vorteile der STL dürften ja wohl klar sein...
Edit:
Zitat: | Man kann in sie nicht hineinesehen. |
Falsch!! |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 20.01.2005, 23:23 Titel: |
|
|
FH hat Folgendes geschrieben: | Geht bei der STL nicht, da vorkompiliert, oder was imemr auch. |
Nimms mir net übel, aber Du hast 0 Plan. Aber heftigst.
Selbst Dein cout aus der <iostream> (OHNE *.h, veralteten scheiß braucht keiner mehr) ist mitgleid der STL.
Die STL basiert auf templates, das bedeutet sie kann weder vorcompiliert sein noch sonst was! Sie ist opensource! Schnapp dir mal die datei <string> und öffne sie mit dem Notepad, dann reden wir weiter.
Allein schon da sie auf templates basiert ist vorcompilierung unmöglich (Zum anderen Thema: Du hast Templates nicht verstanden)
Ich weiß nicht wo Du so einen Bullshit her hast, aber den solltest Du ganz schnell vergessen und mal Deinen Horizont erweitern.
Und die STL läßt sich prima debuggen, da OpenSource! Und wenn du ne vorliebe für Assembler hast, dann solltest Du auch wissen, das Assembler keine Logikfehler debuggt im gegensatz zu einer Hochsprache.
Noch am Rande: Die STL ist nicht gekapselt! Man kann keine Container kapseln (so ein Bullshit gehört verboten!) sondern wurde ausgelegt für erweiterung, sonst wäre boost noch nicht mal entstanden!
Am besten Du machst Deine Hausaufgaben in STL nochmal von ganz vorne, falls Du dich nicht weiter blamieren willst. _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
 |
FH Super JLI'ler
Alter: 37 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 21.01.2005, 00:02 Titel: |
|
|
*ÄußerstGroßesUUPPPPSSS*
Ich hatte irgendwann man eine Datei geöffent, die anscheinend nicht zur STL gehörte und nur so schöne Cryptische Zeichen wie eine EXE enthielt. Ich dachte, die gehört dazu..... Die iostream sieht ganz gut aus... Keine komischen Zeichen, etc. (Nur wie in der .h dieses CRTIMP )
Templates sind eigentlich ganz OK, aber ich finde, man kann alles übertreiben. Die STL kratzt da zwar IMHO manchmal an der Grenze, aber gut. So ein Mist! Hab ich doch glatt in die Falsche Datei geschaut!!!
Gut, großteile meiner Vorurteile gegen STL aufgehoben!!!
Nur eins noch nicht, und zwar: STL!!! *Umarm*
Ich glaub, die darf nun öfters zum Zug kommen!!! Werd mir jetzt vermutlich nen Mischstil angewöhnen! (iostream.h, da ich mir das using../std:: spare) und dafür string statt char str..[?].
Ich weiß, das Assemble keine Logikfehler debuggt, aber hab ich nen Kopf oder nicht (gut, geb zu, der hat gerade eben einen großen Fehler eingesehen!).
Nur eins nervt mich noch: Das extern. Das scheint bei eigenen Templates in DLLs kompliziert zuw werden! Und die Namensgebung: STL hat Folgendes geschrieben: | basic_string<_E, _Tr, _A> __cdecl operator+(const _E *_L,
const basic_string<_E, _Tr, _A>& _R) | Mehr kurze Bezeichner waren auch net drin, oder?
Gruß und danke für die Aufklärung
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 21.01.2005, 00:07 Titel: |
|
|
FH
Du kannst kein Template per DLL exportieren, Templates sind schablonen die zu Funktionen werden, wenn du ein Template mit einer DLL exportierst vierliert das Template seinen ID-Code (was auch logisch ist).
Zu den Bezeichnern: besser so als 30 zeichen pro typ und wert. _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
 |
FH Super JLI'ler
Alter: 37 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 21.01.2005, 00:14 Titel: |
|
|
Ämmm... Was tut dann diese Zeile?
CPP: | extern template class _CRTIMP
basic_ostream<wchar_t, char_traits<wchar_t> >& __cdecl operator<<(
basic_ostream<wchar_t, char_traits<wchar_t> >&,
const basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >&); |
Gruß
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 21.01.2005, 13:54 Titel: |
|
|
@FH: Zu deinem konkreten Problem: Es gibt auch noch die Methode at() bei vectoren, etc...
Die übernimmt das gleiche wie der []-Operator, nur dass noch eine Überschreitungsprüfung enthält
@all: Bitte ein gemäßigteren Ton...*sfz* _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
FH Super JLI'ler
Alter: 37 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 21.01.2005, 21:33 Titel: |
|
|
Ämmm... Tschuldigung, ich war eigentlich auf das "_CRTIMP" in dem Ding aus. Das kenn ich von den .h-s als __declspec(dllimport), was aber nach dir nicht sein kann. Bitte um Aufklärung.
@TLoP: Wieso gemässigter? War der Ton nicht (noch) OK? Wir sind immerhin beim Thema geblieben. Und sachlich war der Ton doch (meistens) auch.
@Patrick: Das mit deiner Freundin tut mir Leid. Ich schäme mich gerade dafür, dass ich mich mit der gezofft hab. *schäm* Tut mir Leid! EHRLICH!!!!!!!!!!
Gruß und sehr gute Besserung an Patricks Freundin
FH _________________ goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 21.01.2005, 22:30 Titel: |
|
|
FH hat Folgendes geschrieben: | @TLoP: Wieso gemässigter? War der Ton nicht (noch) OK? Wir sind immerhin beim Thema geblieben. Und sachlich war der Ton doch (meistens) auch. |
Ja, so schlimm wars auch net...Hab nur gemeint, ein paar etwas "unqualifizierte Unsachlichkeiten" herausgelesen zu haben
@Patrick: Mir tut das auch leid... _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
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.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|