Neu erstellte Beiträge unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.
Die letzte Antwort auf dieses Thema liegt mehr als 365 Tage zurück. Das Thema ist womöglich bereits veraltet. Bitte erstellen Sie ggf. ein neues Thema.
Laut Buch, was eigentlich nicht _so_ alt sein sollte, sollte man sich eine eigene String-Klasse schreiben, da die Standard-Library angeblich keine dynamischen Strings zulasse. Will heißen +=-Operator oder generell die Tatsache, dass immer nur so viel Speicher reserviert wird, wie gebraucht wird, nicht vorhanden sein.
Ob das nun stimmt oder nicht, sei mal dahingestellt (es hat mich auch sehr gewundert!), allerdings würde ich trotzdem gerne in der Lage sein. Mit MODs Beispiel kann ich nicht so viel Anfangen, da die Funktion verloren geht. Ich habe es zwar nur überflogen, aber statt neue Wertzuweisungen einzurichten, dürften da massig Speicherlücken hervorgerufen werden. (Ich hab allerdings noch nicht die Zeit gefunden, da wirklich einen Blick raufzuwerfen.)
Schon einmal danke und ich melde mich nochmal mit konkreterer Problembeschreibung.
In C darfst du das zumindest bei gcc schon noch. Ich habs ja immer gesagt: C++ ist böse
Ne, bin einfach noch nicht dazu gekommen, es zu lernen.
Allerdings ist C mit Strings schon ziemlich a pain in the a**, Delphi will mich immer davon abhalten, das zu tun, was ich tun muss und kriegt spastische Anfälle, wenn ich mehr als 4 Schleifen ineinander schachtel oder so...
Ich überlege nur noch, ob ich statt C++ nicht lieber irgendwas Richtung Perl, Python oder so.
Aber egal, ich hab eh schon zu wenig Zeit und außerdem ist es OT
Frueher[tm] war es mal so, dass die Hauptfunktion durchaus void zurueckgegeben hat.
Das war philosophisch! Jetzt muss leider ein Status zurueckgegeben werden
Stanny meint, damit koenne er dynamische Strings erstellen. Das ist aber imho Unsinn, weil z.B. die Klasse String afaik bereits einen += Operator mitbringt.
Mh. Ich weiss gerad nicht so richtig was ich damit anfangen soll. Ich muss leider wieder lernen, aber hier mal ein Gegenentwurf, der zwar compiliert aber nur Schwachsinn liefert:
Ich hoff das hier answers.com/topic/const-correctness kann dir weiterhelfen, ich verwende bei mir auch ziemlich komische Dinge. Alles in allem keine gute Idee. Das Gespiele mit Pointern mochte ich noch nie
Ich versuche mir grade selber eine String-Klasse zu schreiben. Allerdings habe ich zwei Probleme, bei denen ich nicht weiß, was daran falsch ist. Mein Kompiler gibt folgende Fehler aus:
Quellcode
strings.cpp: In member function 'string& string::operator=(const string&)':
strings.cpp:26: error: '((string*)this)->string::itsChar' cannot be used as a member pointer, since it is of type 'char*'
strings.cpp: In member function 'string& string::operator=(const char*)':
strings.cpp:35: error: invalid conversion from 'const char*' to 'char'