Welcher Programmierstill ist in C++ üblich?



  • asc schrieb:

    ob Bezeichner sprechend gewählt wurden...

    Aja, es ist wohl das grausamste, wenn man immer wieder Sorcen à la

    int z, n, fw, d;
    

    lesen muss. Die Begründung ist zumeist Tippfäule. Mein Physikprofessor sagte dann immer: "Screibarbeit ist keine Arbeit!"

    greetz, Swordfish



  • Schreibarbeit war und ist für Theologen.



  • 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=3826615344

    Wenn 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
    

Anmelden zum Antworten