Gewissensfrage



  • Hallo,

    um direkt zu Sache zu kommen:
    Soll ich als member einer Klasse lieber z.B. boost::array<int, 3> oder ganz einfach int[3] benutzen?

    int[3] sollte schneller sein, oder?
    wäre die Verwendung eines Containers nicht "formschöner"?

    Bin gespannt auf die Diskussion. ^^



  • Es ist gleichschnell. Damit erübrigt sich die Frage. Nimm boost::array



  • konfuzius86 schrieb:

    int[3] sollte schneller sein, oder?

    nein, wieso?

    Ich bevorzuge boost::array.



  • C-Arrays sind nicht schneller, nimm also boost::array!



  • Wie macht man das am besten?

    Ich kann doch nicht oben

    using namespace std;
    using namespace boost;
    

    verwenden? Nimmt man dann, std und schreibt immer ein

    boost::blabla
    

    davor? weil boost seltener vorkommt?
    Wie ist es, wenn ich nicht 2 sondern noch mehr namensräume habe?



  • boosti schrieb:

    Ich kann doch nicht oben

    using namespace std;
    using namespace boost;
    

    verwenden?

    Natürlich kannst du...
    Ich persönliche vermeide es Namensräume aufzulösen, aber das ist wohl eher eine Gewissensfrage (muha) :).



  • Regel: using nur in den Übersetzungseinheiten (*.cpp) benutzen und NIE in Header-Dateien.

    Und die beiden Usings kannst du natürlich gleichzeitig benutzen. Mach ich meistens auch so. Wenn du z.B. nur eine Klasse aus Boost in einer Übersetzungseinheit benutzt, kannst du natürlich auch sowas machen:

    using boost::file_system;
    

    Dann wird in dem Fall nur file_system aus boost aufgelöst und nicht gleich das ganze boost. D.h. damit kann man es etwas präziser machen.


Anmelden zum Antworten