Xcode Fehler (malloc) mit Compiler

Ich bin kein C++ Profi, aber reicht string a("") für beliebig lange strings?

Alex
 
Ich bin kein C++ Profi, aber reicht string a("") für beliebig lange strings?

Alex


Hm also wenn ich den String größer mache geht es. Allerdings bin ich mir irgendwie fast sicher das es Unter Visual Studio geht. Werde das morgen mal testen.
 
Hm also wenn ich den String größer mache geht es. Allerdings bin ich mir irgendwie fast sicher das es Unter Visual Studio geht. Werde das morgen mal testen.

VS meldet vielleicht keinen Fehler. Falsch ist es dann aber trotzdem

Alex
 
Hm dann ist jetzt die Frage wer sich besser an den Standard hällt. VS oder GCC.

LG
 
Wenn ich das mit g++ im Terminal übersetze, geht es auch.

Wahrscheinlich schmeisst Xcode da noch ein paar Sicherheitschecks rein, denn was Du da programmierst ist wahrscheinlich ein super Beispiel dafür, wie Code entsteht, der einen Buffer Overflow Exploit erlaubt.

Alex
 
Schon klar dass es sich hier nicht um sauberen Code handelt. Dennoch war mir nicht bewusst das es unter Xcode Probleme bereitet.
 
Schon klar dass es sich hier nicht um sauberen Code handelt. Dennoch war mir nicht bewusst das es unter Xcode Probleme bereitet.

Die Frage ist doch, was hier problematisch ist, Xcode oder der Code. ;)

Im Ernst! Es ist besser, wenn Xcode den Programmierer vor solchen Fehlern warnt als dass dieser in entsprechende Fallen läuft.
 
Die Frage ist doch, was hier problematisch ist, Xcode oder der Code. ;)

Im Ernst! Es ist besser, wenn Xcode den Programmierer vor solchen Fehlern warnt als dass dieser in entsprechende Fallen läuft.

Habe das nicht negativ gemeint. Klar ist es gut hier gewarnt zu werden. Imho ist es im Standard aber anderst definiert. Was ja nicht immer gut sein muss:D
 
Nein wie sich die Zuweisung an einen std:string verhält. Ist aber auch nur ne Vermutung, kenn den Standard nicht auswendig ;)
 
Der gcc macht es ja auch mit.
 
IMHO enthält der Standard keine Aussagen über realloc bei vergrößertem Speicherbedarf. Speicherverwaltung ist auch bei C++ bis heute noch in Verantwortung des Programmierers.
 
Ne klar hab ich nicht ;)
 
Zurück
Oben Unten