S
itman schrieb:
Dabei, kann dein Kode beim anderen Programmierer benutzt und/oder umgeschrieben werden. Und dieser Programmierer (oder sogar du) kann double durch long double ersetzen und dann kann dein Kode manchmal Kaput sein.
In der Tat, denn dann muss ich %f in %lf ändern, und wenn ich das vergesse ist es ein Fehler.
Aber es ändert doch nix daran, dass ich die Nachkommastellen beschränke.
Und gibt es die Programmen ohne Feheler? Und ein Feheler, IMHO ist fast immer besser als SEG FAULT.
Naja... Ob ich jetzt Blödsinn ausgebe - das Programm also 'kaputt' ist und der User sich darauf verlässt, dass es funktioniert - ist das schon ein großes Problem.
Dagegen ist ein SEG FAULT total leicht zu finden, da ich sofort weiss, dass es einen Fehler gibt.
Ich sage ja nicht, dass die n-Funktionen sinnlos sind, aber sie sind noch lange kein garant für Fehlerfreiheit. Und oft sind sie unnötig. Weil ich eben oft bzw. meistens selber weiss wie groß die Variablen sind - da kann man selbst beim addieren nix falsch machen.
Um dich noch mehr zu schocken: ich verwende zB sogar fast nie strcpy - da ich meistens memcpy vorziehe. Und strcat verwende ich nie.
Und selbst wenn ich strncpy verwende, kann ich nicht sichersein, dass der code fehlerfrei ist:
void copy(char* buffer, size_t len)
{
strncpy(buffer, "Hallo wie geht es dir!", len);
buffer[len-1]=0;
}
char* buf=new char[2];
copy(buf, sizeof(buf));
und schon machts PENG.
Nur weil ich strncpy verwendet habe, bin ich noch lange nicht auf der sicheren seite.