Diskussion:C++-Programmierung: Namensräume

Aus Wikibooks
Zur Navigation springen Zur Suche springen

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)[Antworten]

Ü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)[Antworten]

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

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

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)[Antworten]