| Autor |
Nachricht |
Unregistrierter
|
Unregistrierter
21:57:10 03.08.2012 Titel: |
|
Zitieren |
| SeppJ schrieb: | | Gugelmoser schrieb: | | amichian schrieb: | | Warum hast du in deinem Code nicht die Codezeile "using namespace std;" nicht eingefügt, um das aufwendige Schreiben von "std::" vor jedem cin oder cout zu vermeiden? | Es macht keinen Sinn, einen Namensraum zu definieren, nur um ihn dann wieder mit einer using-Direktive auszuleeren. Darum macht man es nicht. | Warum? Wenn man weiß, dass man keine Konflikte verursacht ist das völlig legitim. | Finde ich nicht. Ein Namensraum ist ja auch nicht dafür da, um Konflikte zu vermeiden. |
|
|
|
 |
BlauesShirt
Unregistrierter
|
BlauesShirt Unregistrierter
20:57:14 04.08.2012 Titel: |
|
Zitieren |
| Gugelmoser schrieb: | Finde ich nicht. Ein Namensraum ist ja auch nicht dafür da, um Konflikte zu vermeiden.  |
Wofür denn, wenn ich fragen darf? |
|
|
|
 |
Sone
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2012
Beiträge: 3142
|
Sone Mitglied
21:08:59 04.08.2012 Titel: |
|
Zitieren |
| BlauesShirt schrieb: | | Gugelmoser schrieb: | Finde ich nicht. Ein Namensraum ist ja auch nicht dafür da, um Konflikte zu vermeiden.  |
Wofür denn, wenn ich fragen darf? |
Ordnung. |
_________________ You want to do X, and you think Y is the best way of doing so. Instead of asking about X, you ask about Y. | Wenn man was zum Lachen braucht: Why C++ Sucks
|
|
 |
Kellerautomat
Mitglied
Benutzerprofil
Anmeldungsdatum: 03.06.2012
Beiträge: 899
|
Kellerautomat Mitglied
23:50:11 04.08.2012 Titel: |
|
Zitieren |
|
 |
qeweretwret
Unregistrierter
|
qeweretwret Unregistrierter
09:40:57 05.08.2012 Titel: |
|
Zitieren |
| Gugelmoser schrieb: | | SeppJ schrieb: | | Gugelmoser schrieb: | | amichian schrieb: | | Warum hast du in deinem Code nicht die Codezeile "using namespace std;" nicht eingefügt, um das aufwendige Schreiben von "std::" vor jedem cin oder cout zu vermeiden? | Es macht keinen Sinn, einen Namensraum zu definieren, nur um ihn dann wieder mit einer using-Direktive auszuleeren. Darum macht man es nicht. | Warum? Wenn man weiß, dass man keine Konflikte verursacht ist das völlig legitim. | Finde ich nicht. Ein Namensraum ist ja auch nicht dafür da, um Konflikte zu vermeiden.  |
So ein Quatsch.
Namensräume kann man in Cpp-Dateien grundsätzlich ausschütten. Sollte es zum Konflikt kommen, was nicht oft der Fall ist, geht man den umständlichen Weg. |
|
|
|
 |
knivil
Mitglied
Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 5851
|
knivil Mitglied
10:14:03 05.08.2012 Titel: |
|
Zitieren |
Kommt drauf an.
Ich habe beispielsweise im namespace geometry eine Linienklasse und im namespace raster. Damit an der Deklaration von Variablen gleich sichtbar wird, um welche der beiden es sich handel, oeffene ich diesen Namensraum nicht, auch wenn nur eine Lienenart benutzt wird. |
_________________ If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.
|
|
 |
Sone
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2012
Beiträge: 3142
|
Sone Mitglied
12:30:38 05.08.2012 Titel: |
|
Zitieren |
| Kellerautomat schrieb: | | Bullshit. |
Damit hast du mal selbst argumentiert |
_________________ You want to do X, and you think Y is the best way of doing so. Instead of asking about X, you ask about Y. | Wenn man was zum Lachen braucht: Why C++ Sucks
Zuletzt bearbeitet von Sone am 12:31:12 05.08.2012, insgesamt 1-mal bearbeitet |
|
 |
Eisflamme
Mitglied
Benutzerprofil
Anmeldungsdatum: 26.06.2009
Beiträge: 2871
|
Eisflamme Mitglied
12:55:37 05.08.2012 Titel: |
|
Zitieren |
Also bei größeren Projekten finde ich namespaces schon praktisch, weil man dadurch eben nochmal eine Ordnung in dem Sinne schaffen kann, dass man weiß, dass gewisse Klassen eben zu einem "Komplex" gehören. Selbst wenn es sich um irgendeinen Spezialbereich handelt, in dem es keine Namensüberschneidungen gibt, ist es einfach angenehmer zu wissen, was wozu gehört.
Und dann können die namespaces auch kongruent zu anderen Ordnungselementen stehen, beispielsweise zur Ordnerstruktur im Dateisystem (oder zusätzlich auch im MSVC-Projekt) oder auch zu Modulen, die einzeln kompiliert werden können.
Namenskonflikte gehen in meinen Augen aus fehlender Struktur/Ordnung hervor, sodass namespaces dieses Problem quasi im Keim ersticken. |
_________________ www.mihahome.de - Texte zu Englisch, Geographie sowie Präsentationen und Lesenswertes
|
|
 |
Kellerautomat
Mitglied
Benutzerprofil
Anmeldungsdatum: 03.06.2012
Beiträge: 899
|
Kellerautomat Mitglied
15:18:20 05.08.2012 Titel: |
|
Zitieren |
| Sone schrieb: | Damit hast du mal selbst argumentiert  |
Es stimmt schon, dass namespaces Ordnung schaffen koennen, aber das ist nicht ihr Hauptnutzen. Ihr beide habt das so hingestellt, als ware das deren einziger Zweck, und das ist einfach nicht wahr. |
|
|
|
 |
Sone
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.05.2012
Beiträge: 3142
|
Sone Mitglied
15:56:41 05.08.2012 Titel: |
|
Zitieren |
| Kellerautomat schrieb: | | Sone schrieb: | Damit hast du mal selbst argumentiert  |
Es stimmt schon, dass namespaces Ordnung schaffen koennen, aber das ist nicht ihr Hauptnutzen. Ihr beide habt das so hingestellt, als ware das deren einziger Zweck, und das ist einfach nicht wahr. |
Konfliktvermeidung lässt sich in diesem Kontext auch auf Ordnung deduzieren, denn die Logik hierbei ist folgende:
Ordnung Keine Konflikte
Keine Ordnung Es gibt Konflikte, weil die verschiedenen Namen nicht in Namensräumen eingeordnet wurden.
Ein Namensraum ist schließlich wie eine Mappe, in der andere Mappen (andere Namensräume) oder eben auch Zettel (Namen) sind. Schmeisst man stattdessen alle Zettel in eine Mappe (Globaler Namespace), wird es unordentlich. |
_________________ You want to do X, and you think Y is the best way of doing so. Instead of asking about X, you ask about Y. | Wenn man was zum Lachen braucht: Why C++ Sucks
Zuletzt bearbeitet von Sone am 16:02:50 05.08.2012, insgesamt 1-mal bearbeitet |
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|