Zum Inhalt springen

Diskussion:C++-Programmierung: Namensräume

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
Abschnitt hinzufügen
Aus Wikibooks
Letzter Kommentar: vor 16 Jahren von Therapiekind in Abschnitt Überarbeitung

Sollten die "using"-Anweisungen nicht besser ausserhalb der main()-Funktion stehen? Dadurch wirken sie sich dann nicht nur innerhalb dieser einen Funktion, sondern in allen nachfolgenden Funktionen aus. Zumindest in einem realen Programm wird man dies so nutzen. Ich denke, auch innerhalb der kurzen Beispielprogramme, die nur aus einer einzigen Funktion bestehen, sollte man dies so schreiben - schliesslich sollten diese vom Leser als Beispielprogramme verwendet werden können, um größere Projekte zu beginnen. --Martin Fuchs 19:37, 21. Okt 2005 (UTC)

Letztendlich ist es wohl egal. Denke, dass es in diesem Fall sogar wirklich sinnvoll wäre, es auf diese Weise umzuschreiben. Werd es einfach mal ändern.
--Freak 1.5 18:48, 15. Nov. 2006 (CET)Beantworten

Überarbeitung

[Bearbeiten]

Dieses Kapitel behandelt leider nur die Nutzung der using-Klausel. Es wäre aber sinnvoll dem nur einen kleinen Teil zu überlassen (das was schon dasteht vielleicht ein wenig modifiziert) und den Hauptteil der Verwendung eigener Namespaces zu witmen. Gerade weil das einer der Punkte ist, an denen sich C++ von C unterscheidet und weil es eine recht elegante Möglichkeit ist Namenskonflikte innerhalb der Programme zu lösen, bzw. damit umzugehen.
--Freak 1.5 08:44, 16. Nov. 2006 (CET)Beantworten

meinst du jetzt konkret, die deklaration eigener Namensbereiche usw...? Das hat mir zumindest in diesem Kapitel gefehlt... -- Enaut 22:31, 6. Apr. 2007 (CEST)Beantworten

So sei es. --cf 11:20, 7. Jul. 2007 (CEST)Beantworten

Fände es toll, wenn man am Ende noch erklärt, dass man die Benutzung von Namensräumen durch die Benutzung von "anonymen" Blöcken einschränken kann.

À la:

#include <iostream>

int main(void)
{
    {
        using namespace std;
        cout << "Hallo" << endl;
    }
    cout << "Noch mal Hallo" << endl; // Ungültig, Namensraum std gilt hier nicht mehr
}

Hab mich nicht getraut, es einzubinden, da dieses Buch meine ersten Schritte in C++ sind. Die Frage nach der Beschränkung stellte sich mir trotzdem als erstes.

Therapiekind 13:08, 19. Jan. 2008 (CET)Beantworten