Wann Referenzen, wann Pointer?



  • volkard schrieb:

    Settings::Settings(char const* iniFileName);
    

    Also sowas würde ich auch nicht prüfen... Man kann ja nun wirklich nicht jedem Arsch nachtragen... 😃

    Besser wäre da dann wohl:

    Settings::Settings( const std::string &iniFileName );
    

    😃



  • It0101 schrieb:

    Besser wäre da dann wohl:

    Settings::Settings( const std::string &iniFileName );
    

    😃

    Mit dem Aufruf

    Settings s("grangi.ini");//Hab ja doch nur ein Literal
    

    und dem Code

    {
       ifstream in(iniFileName.c_str());//Brauche ja doch nur einen char*
       ...
    


  • volkard schrieb:

    It0101 schrieb:

    Besser wäre da dann wohl:

    Settings::Settings( const std::string &iniFileName );
    

    😃

    Mit dem Aufruf

    Settings s("grangi.ini");//Hab ja doch nur ein Literal
    

    und dem Code

    {
       ifstream in(iniFileName.c_str());//Brauche ja doch nur einen char*
       ...
    

    Genau da ziehe ich aber die const Ref. auf std::string vor.
    Ausserdem halte ich es für einen Fehler in der Standard Lib. dass ifstream ein const char* als File Name nimmt und nicht ein std::string.



  • theta schrieb:

    Ausserdem halte ich es für einen Fehler in der Standard Lib. dass ifstream ein const char* als File Name nimmt und nicht ein std::string.

    Wir müssen ja nicht alles mit Gewalt langsam machen. Ich denke, das tut der Sprache auch ein bißchen weh.
    Aber ich würde es begrüßen, wenn es beide Überladungen gäbe.



  • Mit C++0x wird es beide Überladungen geben, soweit ich weiß.



  • 314159265358979 schrieb:

    Mit C++0x wird es beide Überladungen geben, soweit ich weiß.

    Wichter fände ich es, wenn die fstreams mit einem wchar_t als char-Typ für den Dateinamen klar kommen würde.



  • Tachyon schrieb:

    Wichter fände ich es, wenn die fstreams mit einem wchar_t als char-Typ für den Dateinamen klar kommen würde.

    wchar_t für den namen, aber char für den Inhalt? Dann müssten auch diverse andere Kombinationen angeboten werden.



  • pumuckl schrieb:

    Tachyon schrieb:

    Wichter fände ich es, wenn die fstreams mit einem wchar_t als char-Typ für den Dateinamen klar kommen würde.

    wchar_t für den namen, aber char für den Inhalt?

    Macht durchaus Sinn, da viele OS mit Unicode als Dateinamen klar kommen, für den Inhalt aber durchaus noch ASCII ausreichen kann.



  • volkard: Kann man von dir mal ein größeres Programm (>10000 Zeilen) irgendwo sehen?



  • Ät schrieb:

    volkard: Kann man von dir mal ein größeres Programm (>10000 Zeilen) irgendwo sehen?

    Nein.


Anmelden zum Antworten