Warum sind verschachtelte Funktionen nicht unterstützt durch den C-standard?

Es scheint nicht, wie es wäre zu schwer zu implementieren in der Montage.

gcc hat auch ein flag (-fnested-Funktionen) zu ermöglichen Ihre Verwendung.

  • Es gibt einen Unterschied zwischen dem, was würde/würde nicht "zu schwer" umzusetzen, und welche die standards-Definition von Körper wählte einschließen oder weglassen von der Norm. GCC-Unterstützung für das bedeutet nur, dass es etwas ist, was umgesetzt wird, die außerhalb des Anwendungsbereichs der Norm - nämlich, es ist eine nicht-standard-Funktion. GCC ist nur eine Implementierung eines Compilers, der sich auf die C-standard; es ist in keiner Weise eingeschränkt, nur bieten, was in den standard.
  • klingt wie eine Antwort, eher als ein Kommentar
  • Matt Ball: Meine Frage ist ja, warum die standards definieren Körper wählte weglassen, eine solche Funktion. Mein Verweis auf gcc war eher ein Beispiel für "es kann so geschehen, warum ist es nicht".
  • Verwandte: stackoverflow.com/questions/666586/...
  • kann getan werden, also warum nicht tun Sie es" ist, wie Sie am Ende mit Sprachen wie C++. Ob das eine gute oder eine schlechte Sache ist bis zu Ihnen. (und ja, C++ nicht direkt unterstützt, verschachtelte Funktionen, aber Sie können immer eine lokale Funktor).
  • Ich wäre nicht zufrieden gewesen, wenn jemand geschrieben, dass die Antwort gab es auf meine Frage. Es ist weitgehend eine nicht-Antwort, daher postest es in einem Kommentar. Dies ist immer ein bisschen meta-nun, vielleicht werden diese Kommentare verschoben werden sollen... 😛
  • "Meine Frage ist ja, warum die standards definieren Körper entschied sich das auslassen solch ein feature" - Das ist keine gültige Frage ALSO.
  • Es wurde nicht geschlossen, es ist also vertretbar, dass es ist eine gültige Frage ALSO.
  • jinawee Kommentar ist völlig irrelevant.

InformationsquelleAutor des4maisons | 2009-08-28
Schreibe einen Kommentar