Ellipsenparameter



  • In meinem C++ Buch werden Ellipsenparameter angesprochen, aber nicht erklärt wie man sieh verwendet bzw. anspricht:

    void func(int par1,...)
    {
    
    }
    
    int main()
    {
        func(5,8,2,7,4);
    
        return  0;
    
    }
    

    Wie spreche ich innerhalb der Funktion "func" die Parameter an? (zumal ich ja gar nich weiß wieviele es sind, kann ja immer unterschiedlich sein)

    MfG
    Stromberg





  • Stromberg schrieb:

    In meinem C++ Buch werden Ellipsenparameter angesprochen, aber nicht erklärt wie man sieh verwendet bzw. anspricht:

    Diese Funkionalität existiert zwar in C++, aber man sollte sie tunlichst NICHT verwenden.



  • ~john schrieb:

    Stromberg schrieb:

    In meinem C++ Buch werden Ellipsenparameter angesprochen, aber nicht erklärt wie man sieh verwendet bzw. anspricht:

    Diese Funkionalität existiert zwar in C++, aber man sollte sie tunlichst NICHT verwenden.

    Wärst du dann auch noch so frei ihm zu erkläre WAS so böse dran ist?

    btw:
    Mir ist es durchaus klar, aber wenn man schon so eine generalisierte Aussage macht, dann sollte man auch eklären warum, dann kann sich jeder selber entscheiden, ob man das "Risiko" dennoch eingeht.



  • drakon schrieb:

    Wärst du dann auch noch so frei ihm zu erkläre WAS so böse dran ist?

    Die Ellipse erlaubt keinerlei Typsicherheit und Funktionen mit Ellipsen können nur per Konvention benutzt werden, d.h. es gibt keinerlei Schutz vor mißbräuchlicher Nutzung. Dei Realität zeigt, daß darüber massenweise Buffer Overflow und Formatstring Attacken (printf & Co nutzen auch die Ellipse) in Programmen vorgenommen werden können. Da es in C++ andere typsichere Ansätze gibt, ist die Ellipse ohne Ausnahme generell böse. Wenn man C API nutzen muß, läßt sich das manchmal nicht verhindern, aber selbst in C könnte man es besser lösen.



  • 👍
    Und die Alternative, wenn man so etwas wirklich braucht wäre z.B boost::format:
    http://www.boost.org/doc/libs/1_40_0/libs/format/doc/format.html

    Ich habe bis jetzt aber wahrscheinlich nur 1-2 mal wirklich das Bedürfnis nach der Ellipse verspührt. Ansonsten benutze ich für das zusammensetzen von strings std::stringstream , was auch recht elegant geht.


Anmelden zum Antworten