Wozu decltype, wenn man auto hat?


  • Administrator

    volkard schrieb:

    Nexus schrieb:

    krümelkacker schrieb:

    und dann ist auto ja auch nur ein Typ-Platzhalter, der entsprechend dekoriert werden kann:

    vector<auto> blah = myfunction();
    

    Ah, das kannte ich ebenfalls nicht. Interessant! 💡

    Naja, gcc kennt das auch nicht.
    Ist es wirklich erlaubt?

    Das würde mich auch wunder nehmen. Konnte auf die schnelle nichts im Standard finden.

    Dafür habe ich etwas anderes gefunden, was ich noch nicht kannte:

    auto x = new auto('c');
    

    Grüssli



  • Der - für mich - naheliegendste Grund warum decltype gebraucht wird wurde noch nicht genannt (oder ich hab's übersehen):
    Mit auto kann man keine Return-Typen zusammenbauen.
    Mit decltype dagegen schon.

    auto Foo() -> decltype(A() + B());
    

    Bzw. allgemein überall wo man den Typ eines Ausdrucks bestimmen will ohne gleich eine Variable zu definieren.


Anmelden zum Antworten