Welcher Programmierstill ist in C++ üblich?
-
Fellhuhn schrieb:
Schreibarbeit war und ist für Theologen.

-
Danke für die schnellen Antworten!
Das using namespace schlecht ist hab ich schnon mal gelesen. Leider wird das in meinem Buch so gemacht.
http://www.c-plusplus.net/cms/modules.php?op=modload&name=mbBooks&file=index&func=isbn&isbn=3826615344Wenn ich das richtig sehe, gibt es 3 Möglichkeiten mit namespace std umzugehen.
1.Version
//
using namespace std;
//
cout << "Ende" << endl;2.Version
//using namespace sei nicht declariert
std::sout << "Ende" << std::endl;3.Version
//using namespace sei nicht dec.
using std::cout;
using std::endl;
cout << "Ende" << endl;Version 1, wird von mir ab jetzt als Tabu angesehen.
Bleiben nur noch 2 u. 3. Welche soll ich wählen nach eurer Meinung verwenden und ist es Empfehlenswert, die Aufgaben in einem Buch, mit der gewählten Version zu lösen, oder stur nach dem Buch zu arbeiten?
-
Öhm, da hast du was falsch verstanden bzw. nicht aufmerksam gelesen! using namespace an sich ist nich tabu. Sondern in einem Header tabu!
-
Soll das heisen das ich using namespace nicht gleich nacch #include bringen soll sondern erst im Block?
z.b so[cpp]
#include <iostream>int main()
{ using namespace std;//
}
-
Glaubensfrage. Solange Du weißt, was du tust, ist auch gegen ein
using namespace std;nichts einzuwenden. Kommt auch auf die Größe des Projekts an.greetz, Swordfish
-
Hallo
Du sollst using namespace nicht in headern also hpp oder h Dateien verwenden. Du scheinst aber noch ganz am Anfang mit c++ zu sein und solltest vielleicht erstmal ein paar Grundlagen lernen.
chrische
-
Naja Seite 100/800
(Das meist war das Inhaltsverzeichniss 
Ich sage Danke an alle. Werde mich hier im Forum anmelden, da es sicher noch etliche unklarheiten geben wird.
beste grüße ruebe
-
ruebe schrieb:
Soll das heisen das ich using namespace nicht gleich nacch #include bringen soll sondern erst im Block?
Nein, das heißt das man - vorausgesetzt man arbeitet wie es in C und C++ eigentlich üblich ist mit getrennter Deklaration (.h / Header) und Definition (.cpp / Source) - using namespace niemals im Header einsetzt.
Unvollständiges Minibeispiel (ohne Includeguards...)
// A.h
// Hier kein using namespace #include <string> class A { void foo(std::string const & text) };// A.cpp
#include "a.h" // Wogegen hier using namespace erlaubt ist using namespace std; void A::foo(string const & text) { //... }cu André
P.S: Es kann sein das du die Trennung noch nicht im Buch beschrieben bekommen hast...
-
Jetzt check ichs. Hab den Begriff Header falsch aufgefasst.
-
Kleine Erweiterung:
A.cpp:#include "a.h" // hier bitte AUCH kein using namespace #include "b.h" // erst hier nachdem die letzte header inkludiert wurde... // ...hier ist using namespace OK using namespace std; void A::foo(string const & text) { //... }A.h:
// hier kein using namespace #include <string> // hier AUCH KEIN using namespace class A { void foo(std::string const & text) { // hier isses OK, weil's nur innerhalb der funktion "wirksam" ist using namespace std; // ... } }; // hier AUCH KEIN using namespace