Wofür C++ und C?
-
gibts auch was bei C++ das man nicht falsch machen kann?
-
... und warum bin ich ein Unreg-Troll, der keine Freunde aber haufenweise Pickel hat ?
-
frage. schrieb:
gibts auch was bei C++ das man nicht falsch machen kann?
ich glaube nicht.
könnte schon sein, dass C++ von allen programmiersprachen die sprache ist, mit der man theoretisch pro codezeile die meisten fehler produzieren kann.

-
Könnte aber viel eher ein, dass Undertaker der Troll ist, der den meisten Unsinn pro Zeile verfasst.
-
Undertaker schrieb:
Mr. N schrieb:
Und wenn ich bedenke, dass strcat, sprintf etc. Buffer-Overflows geradezu erzwingen und so Funktionen wie strncat auch nicht viel besser sind, dann lob ich mir doch mein std::string.
hast du nicht gesagt, dass buffer-overflows passieren können, wenn man irgendwas falsch benutzt? selbiges gilt auch für std::string, z.b. einen char* geholt mit c_str() oder data() und die overflow-gefahren sind alle wieder da.
Falsch, c_str() und data() liefern konstante C-Strings (char const *).
Undertaker schrieb:
auch wenn du alles richtig machst, besteht immer noch die möglichkeit, dass std::string seine capacity nicht erhöhen kann (weil der globale heap zu 99% voll ist).
Aber das konstituiert keine Sicherheitslücke.
[Außer vielleicht ein DoS, aber dagegen ist man nie ganz geweiht.]Undertaker schrieb:
es gibt keine sicherheit in C und C++. C++ bietet vielleicht eine trügerische sicherheit, aber ich bezweifle dass das irgendwie besser ist als gar keine sicherheit (wie in C). eher schlimmer.

So ein Blödsinn. std::string halbwegs(*) richtig benutzen ist leicht. Und subtile Gefahren gibt es da auch nicht wirklich.
(*): So Dinge wie void foo(std::string x); sind zwar nicht wirklich richtig, aber kein wirkliches Problem, außer für die Performance.
-
So Dinge wie void foo(std::string x); sind zwar nicht wirklich richtig, aber kein wirkliches Problem, außer für die Performance.
man, kann man da viel falsch machen.

-
Undertaker schrieb:
könnte schon sein, dass C++ von allen programmiersprachen die sprache ist, mit der man theoretisch pro codezeile die meisten fehler produzieren kann.
Das kann so sein, muss aber nicht : http://www.c-plusplus.net/forum/viewtopic-var-t-is-192168.html

-
Mr. N schrieb:
std::string halbwegs(*) richtig benutzen ist leicht. Und subtile Gefahren gibt es da auch nicht wirklich.
denk doch nur mal an operator[]

-
Undertaker schrieb:
Mr. N schrieb:
std::string halbwegs(*) richtig benutzen ist leicht. Und subtile Gefahren gibt es da auch nicht wirklich.
denk doch nur mal an operator[]

Was soll damit sein? Der kann auch secure sein, siehe MSVC8.0 (da sind alle []-Operatoren der C++-Standard-Library secure als Compiler-Default-Setting!).
Was willst du uns eigentlich beweisen? Deine C++ Inkompetenz? Nicht nur die []-Frage sondern auch die c_str()-Frage beweist das, innerhalb zwei Postings hintereinander.... Go Home Kid! *PLONK*
-
Fred closed oder 20+ Seiten.
-
Artchi schrieb:
Was willst du uns eigentlich beweisen? Deine C++ Inkompetenz?
Er hat doch nie etwas gegenteiliges behauptet.
-
Ja, halt ein Troll, der so krank ist, das er es nicht mal einsieht. Und wenn er es weiß, scheint er absichtlich ein Troll zu sein und somit ein Arsch**** durch und durch.
-
Wer kann's ihm verdenken, er wird ja gut gefüttert hier. Am meisten von denen, die lange dabei sind und es eigentlich wissen müssten.
-
Artchi schrieb:
Undertaker schrieb:
Mr. N schrieb:
std::string halbwegs(*) richtig benutzen ist leicht. Und subtile Gefahren gibt es da auch nicht wirklich.
denk doch nur mal an operator[]

Was soll damit sein? Der kann auch secure sein, siehe MSVC8.0 (da sind alle []-Operatoren der C++-Standard-Library secure als Compiler-Default-Setting!).
lobenswerte sache von m$. ich dachte immer, da sind aus geschwindigkeitsgründen keine checks drin. noch meine vs2003-codes haben sich bei astronomischen indexwerten immer verabschiedet. bereichsüberprüfungen von [] sind aber nicht standard, nehme ich an.
Bashar schrieb:
er wird ja gut gefüttert hier.
hmmmm, mampf, schmatz, lecker

-
Und wie baut man mit operator[] eine Sicherheitslücke?
-
Mr. N schrieb:
Und wie baut man mit operator[] eine Sicherheitslücke?
das überlassen wir mal den hackern. ich hab' damit nur abstürze produziert.

-
wenn man was gegen c++ sagt, dann können die c++ fanboys nicht anders
-
Bashar schrieb:
Wer kann's ihm verdenken, er wird ja gut gefüttert hier. Am meisten von denen, die lange dabei sind und es eigentlich wissen müssten.
Zum Problem wirds aber, wenn die Nubs anfangen, ihm zu glauben, wie in diesem Fall geschehen.
-
Wissendes Wesen schrieb:
Bashar schrieb:
Wer kann's ihm verdenken, er wird ja gut gefüttert hier. Am meisten von denen, die lange dabei sind und es eigentlich wissen müssten.
Zum Problem wirds aber, wenn die Nubs anfangen, ihm zu glauben, wie in diesem Fall geschehen.
was hab' ich denn falsches erzählt, das einem noob zum nachteil gereichen könnte?

-
Undertaker schrieb:
Wissendes Wesen schrieb:
Bashar schrieb:
Wer kann's ihm verdenken, er wird ja gut gefüttert hier. Am meisten von denen, die lange dabei sind und es eigentlich wissen müssten.
Zum Problem wirds aber, wenn die Nubs anfangen, ihm zu glauben, wie in diesem Fall geschehen.
was hab' ich denn falsches erzählt, das einem noob zum nachteil gereichen könnte?

Die Falle war gut, aber nicht gut genug.
