Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

  • 10 Monate später...
  • Autor

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? ;)

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

Ja ich bin auch dafür, so können doch einige Fragen leicht auf diese FAQ verwiesen werden und es werden Themen nicht doppelt und dreifach wiederholt behandelt.

mfg

Ich persönlich finde es sehr wichtig, dass es erhalten bleibt, weil C und C++ eine der wichtigsten Grundprogrammiersprachen sind und viele mit C anfangen!

Aber bitte darauf achten das auch nur C / C++ Probleme im C/C++ FAQ auftauchen. Bringt nicht viel wenn man VCL MFC oder sonstige Probs behandelt die nichts mit dem Standard zu tun haben.

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

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.

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.

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

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

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.

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

Na, damit ist doch jeder einverstanden :o)

Du hattest aber geschrieben:

Innerhalb der FAQ sollte für jede Antwort auf die entsprechende Section im Standard-Dokument

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.

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;)

  • Autor

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. ;)

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.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.