Mailinglist Archive: opensuse-programming-de (182 mails)

< Previous Next >
Re: realloc & vector
  • From: Frank Liebelt <frank.liebelt@xxxxxxx>
  • Date: Mon, 8 Mar 2004 04:42:54 +0100
  • Message-id: <200403080442.56954.frank.liebelt@xxxxxxx>
Hi!
> > char out_name = new char[strlen("name")+1];
>
> Nein so:
> char* out_name = new char [strlen("name")+1];

Gut, habe ich ja auch so im Code stehen! Ist wohl auf Grund der aktuellen
Zeit untergegangen.
Ganz erhlich frage ich mich sowie so wo darin der Unterschied liegt?
Was bedeutet der * ?

Mein Buch sagt mir irgendwie nichts dazu aus und suche mal im Netz nach * :)

> Wenn, dann hättest du von Anfang an einen string aus der STL benutzen
> sollen und keinen vector.
> Die 1:1-Umsetzung sollte ungefähr so aussehen:
>
> // neuen Speicherplatz reservieren
> char* out_name2 = new char [strlen(dir)+1];
> // chars kopieren
> strcpy(out_name2, out_name)
> // alten Speicherplatz freigeben
> delete[] out_name;
> // Pointer umbiegen
> out_name = out_name2;
>
> Ich hoffe, das ist richtig, was ich hier verzapfe. Ich habe schon lange
> kein C++ mehr benutzt und es ist sehr spät...

Ich hoffe auch :) Zumindest scheint es zu funktionieren!

Gruß
Frank


< Previous Next >
Follow Ups