Zum Inhalt springen

Empfohlene Beiträge

  • 10 Monate später...
Geschrieben

Update:

Die Inhalte der FAQ haben den letzten Boardumzug leider nicht überlebt.

Ich möchte Euch an dieser Stelle Gelegenheit geben, Eure Meinung über eine Wiedereinführung der FAQ zu äußern.

Haltet Ihr eine Wiedereinführung der C/C++-FAQ für sinnvoll? Falls ja, warum? Falls nicht, warum nicht? ;)

Geschrieben

Hallo,

ich peroenlich halte die Wiedereinführung für sinnvoll, da es viele Fragen/Fehler gibt, die regelmäßig auftreten:

int main() vs. void main()

fflush(stdin)

Zahl in String umwandeln und umgekehrt

...

Nic

Geschrieben

Hallo,

das gehts schon wieder los :). Innerhalb der FAQ sollte für jede Antwort auf die entsprechende Section im Standard-Dokument verwiesen werden, um die Diskussionen möglichst gering zu halten. Gerade fflush(stdin) und int main() sind da sehr beliebte Kandidaten.

Für fflush(stdin) ist in Standard klar definiert, dass dies auf input-Streams undefiniert ist! Definiert sind nur output streams sowie ein fflush mit einen Null-Pointer als Argument.

Quelle: ISO-C-FDIS.1999.04, Section 7.19.5.2

Ausserdem sollte man davon ausgehen, dass sich 99.9999% alle Frager in einem "Hosted Environment" befinden und in diesem ist main klar als "int main()" definiert. Wer nicht in einem Hosted Environment entwickelt sollte das bei seiner Frage herausstellen, da es ansonsten zu Missverständnissen kommen kann (die Unterschiede beschränken sich in diesem Fall nicht nur auf int main sondern auch auf Rückgabewerte von main, Umgebungsvariablen usw.).

Quelle: Dito, Section 5.1.2

Nic

Geschrieben

Hi! Hast Du mal nen Link zu Deinem Dokument ?

Ich hab nur das hier:

http://www.kuzbass.ru/docs/isocpp/

Zumal denke ich das man sich selten auf die Norm in diesem Detailgrad bezieht. Erscheint mir erst Sinvoll wenn es Streit gibt der sich nurnoch durch die Norm belegen lässt. Ansonsten müsste man die Norm halbwegs auswendig kennen und die Antworten sind eher Schleppend.

So kommen doch sicherlich einige Beiträge aus Aktuellen Diskusionen in die FAQ.

Geschrieben

Ich wollte jetzt eigentlich nicht wissen, was da passiert, sondern nur darauf Hinweisen. Auch wenn die FAQ über Standard C(++) geht, sollte man bei z.B. flush(stdin) zumindest darauf hinweisen, dass es kompilerabhängige Unterschiede gibt. Man braucht ja nicht genau drauf eingehen.

Aber wie "dieser Thread " zeigt, reagiert der BC ganz anders darauf als MSVC.

Geschrieben

Hallo,

Original geschrieben von Knuddlbaer

Hi! Hast Du mal nen Link zu Deinem Dokument ?

Ich hab nur das hier:

http://www.kuzbass.ru/docs/isocpp/

Die Standards gibts hier:

http://std.dkuug.dk/JTC1/SC22/WG14/

http://www.sics.se/~pd/ISO-C-FDIS.1999-04.pdf

Zumal denke ich das man sich selten auf die Norm in diesem Detailgrad bezieht. Erscheint mir erst Sinvoll wenn es Streit gibt der sich nurnoch durch die Norm belegen lässt.

Standards sind dafür da, dass man sich dran hält. fflush(stdin) ist ein schönes Beispiel dafür was passiert, wenn man dies nicht tut. Auf einer Plattform läuft das Programm ohne Probleme, auf einer anderen verabschiedet es sich mit einer Fehlermeldung oder einem Core-Dump. Problem ist da nicht so sehr der Compiler, sondern der Programmierer, der Konstrukte verwendet, die undefinierte Ergebnisse produzieren (und darauf wird bereits im Standard hingewiesen).

Ansonsten müsste man die Norm halbwegs auswendig kennen und die Antworten sind eher Schleppend.

Auch wenn es vielleich etwas länger dauert (ist ja ausserdem für die FAQ gedacht), sollte man genaue Antworten geben und nicht bequeme :). Wenn man sich die Mühe nicht machen will, sollte man keine - möglicherweise falsche und ungenaue - Antwort geben.

Nic

Geschrieben

thx für den Link, werde ich mir mal wenn ich Zeit hab im Detail ansehen.

Beim reinen Überfliegen fällt mir auf das irgendwie C++ nicht enthalten ist ?!

Desweiteren:

Wenn jemand fragt wieso

T * foo()

{

T t;

$return t;

}

Zum Absturz führt reicht es wohl wenn man erklärt warum das so ist. Ich kann mir natürlich auch die Arbeit machen den Punkt aus der Norm zu greifen und einfach darauf zu linken.

a. kann es sein das der Text nicht verstanden wird

b. fängt dann eine Diskusion um die Norm an weil Punkt xyz aber die Ausnahme hat und zxy das so definiert....

Nich so wirklich viel gewonnen ?!

Eine FAQ sollte sich einmal aus speziell dafür vorbereiteten Beiträgen als auch Beiträgen der Aktuellen Diskusion zusammensetzen.

Ein Vernünftig geschriebener Beitrag (also nich so wie meiner hier :D ) hilft mehr als Zitate und Verweise auf die Norm.

Beispiel:

http://www.c-plusplus.de/forum/viewtopic.php?t=39469

oder

http://www.c-plusplus.de/forum/viewtopic.php?t=39470

Ich finde die Beiträge sehr gelungen. Du wirst dort keinen Verweis auf die Norm finden, dennoch sind die Beiträge genau und korrekt.

Hei, wir sind Progammierer keine Beamte :o)

P.s.: Wer Fehler findet darf sie behalten

Geschrieben

Also ich denke das ein Mittelweg die beste Lösung wäre. Auf der einen Seite finde ich nicht das es etwas bringt bei jedem Thema nur auf den Standard zu verweisen (ich glaub auch nicht das nic_power das so gemeint hat), weil dann brauchen wir nur einen Link zum Standard oben im Forum festheften und fertig. Auf der anderen Seite kann es aber auch nicht schaden, wenn man seiner Erklärung einen Link zum entsprechenden Standard (soweit vorhanden) anzufügt, damit Interresierte weiterlesen können.

Geschrieben

Hallo,

ich hatte in der Tat nicht vor, bei jedem Beitrag auf den C oder C++ Standard zu verweisen. Was man jedoch sehr häufig sieht sind eben besagte Konstrukte der Art "fflush(stdin)" und endlose Diskussionen darüber (geht ja hier schon wieder los). An dieser Stelle ist der Standard (übrigens spricht man hier nicht von: "Norm") eindeutig, dass dies zu einem nicht vorhersehbaren Verhalten des Programmes führt und daher vermieden werden sollte. Wer entsprechende Konstrukte dennoch verwendet, muss davon ausgehen, dass er ein Programm erzeugt, welches nicht portable ist.

Nic

Geschrieben
Original geschrieben von Knuddlbaer

FAQ werden i.d.r. aus bestehenden Beiträgen genommen. WEnn das nicht geht schreibt jemand speziall einen Artikel. So bekommst Du eine FAQ die sich selbst pflegt.

Es kann aber doch nicht schaden am Schluss einer Erklärung auf einen Abschnitt im Standard (soweit vorhanden) zu verweisen;)

Geschrieben

Wie wär's denn damit:

Wer einen Beitrag für die FAQ vorschlagen (oder erstellen) will, macht einen neuen Thread auf, vielleicht gekennzeichnet durch [FAQ-Vorschlag] oder etwas in der Art. Dann können die Anderen ihre Anmerkungen und Verbesserungsvorschläge loswerden. Am Ende steht dann hoffentlich etwas, mit dem jeder mehr oder weniger zufrieden ist. Haben wir einen solchen Konsens, stelle ich den Text des Beitrags zu den FAQ.

Was übrigens die Reaktivierung der FAQ angeht, bitte ich noch um etwas Geduld. ;)

Geschrieben
Original geschrieben von Klotzkopp

Wie wär's denn damit:

Wer einen Beitrag für die FAQ vorschlagen (oder erstellen) will, macht einen neuen Thread auf, vielleicht gekennzeichnet durch [FAQ-Vorschlag] oder etwas in der Art. Dann können die Anderen ihre Anmerkungen und Verbesserungsvorschläge loswerden. Am Ende steht dann hoffentlich etwas, mit dem jeder mehr oder weniger zufrieden ist. Haben wir einen solchen Konsens, stelle ich den Text des Beitrags zu den FAQ.

Hört sich gut an. Allderings wird von mir die nächste Zeit wohl nicht so viel (außer Kritik an anderer Leuts Arbeit :floet: ) kommen, weil ich im Moment keine Zeit habe.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...