Dynamische/statische Arrays dimensionieren
-
Was passiert eigentlich, wenn man über pointer ein 'statisches' Array (z.B. a[20]) redimensionieren (realloc etc.)?
Bekommt man eigentlich irgendwie raus, ob ein Pointer z.B: auf ein statisches oder dynamisches Array zeigt?
grüße Rio.
-
Hallo
- dürfte früher oder später zu Speicherverletzungen führen.
- wenn du nur den Pointer hast nein.
bis bald
akari
-
Bin am überlegen wie ich für eigene funktionen, welche strings modifizieren (die über pointer als parameter übergeben werden) auch den allozierten speicher (wenn nötig) vergrößern oder verkleinern können.
Wenn nun die funktion durch statische Arrays aufgerufen wird, wird es nicht mehr funktionieren, richtig..? mhh...
-
Hallo
std::string
bis bald
akari
-
ne ne sollte alles schon auf tiefster ebene von statten gehen. (also auch auf C portierbar)
-
du wirst nicht umhin kommen weiter Infos mitzuführen. Beispielsweise
struct string
{
int bufferlength;
bool isDynamic;
char * data;
};oder ähnliches.
-
Rio_1 schrieb:
ne ne sollte alles schon auf tiefster ebene von statten gehen. (also auch auf C portierbar)
Das bedeutet: std::string nachbauen.
Warum eigentlich ?
Mehr "aus allgemeinem Interesse" ? Oder Berührungsangst ? Oder ... ?
Bedenke: Überall, wo new geht, geht auch std::string.Gruß,
Simon2.
-
Rio_1 schrieb:
ne ne sollte alles schon auf tiefster ebene von statten gehen. (also auch auf C portierbar)
Entweder programmierst Du mit C++ oder mit C. C++ Sprachkonstrukte lassen sich nicht auf C portieren. Oder willst Du einen C++ Compiler, der ein C Backend nutzt?
Wenn es nur um die Interaktion von C und C++ geht solltest Du Dir überlegen, ob es nicht Potential gibt Dein Vorhaben zu optimieren.