Suchergebnisse für Anfrage "decltype"

1 die antwort

Interaktion zwischen decltype und Klassenmitgliedsname, die einen externen Namen schattiert

Dieser Code int clash; struct Foo { decltype(clash) clash; };compiles still auf clang, aber nicht auf gcc zu kompilieren geben die Fehler Fehler: Deklaration von 'int Foo :: clash' [-fpermissive] error: Ändert die Bedeutung von 'clash' von ...

2 die antwort

Warum gibt decltype (auto) hier eine Referenz zurück?

Ich denke (dachte) ich versteheauto. Gleiches überdecltype. In C ++ 14 kann man jedoch etwas Diabolisches wie @ habedecltype(auto) als Rückgabetyp einer Funktion. Folgendes berücksichtigen decltype(auto) foo() { int m = 1; return m; } Der ...

8 die antwort

Kann ich decltype (oder etwas ähnliches) für die explizite Instanziierung von Vorlagen ohne Signaturduplikation verwenden?

Ich möchte instanziieren template<typename T> void foo( T& t, SomeType some_parameter, AnotherType another_parameter, EtcType yet_another_parameter, AsYouCanTell this_is_a_very_long_signature);das ist eine Funktion mit einer langen ...

TOP-Veröffentlichungen

4 die antwort

Warum liefert decltype in einem String-Literal keinen Array-Typ?

Der Standard definiert den Typ eines String-Literalen in §2.13.5 / 8 als: Ordinary String Literals und UTF-8 String Literals werden auch als Narrow String Literals bezeichnet. Ein schmales String-Literal hat den Typ "Array von n const char", ...

4 die antwort

Get den Typ eines Elternteils

Gab die folgenden Klassen: template <typename T> class Child : public T {};Ich habe auch eine templatisierte Funktion: template <typename T> void foo(const T& bar)Nach einigen Schablonenturnen habe ich einen Codeabschnitt, der festgestellt hat, ...

6 die antwort

Wie behebe ich einen Fehler beim Refactoring von decltype in der Vorlage?

bearbeite Möglicherweise geht das nicht, sieheClean Implementierung der Funktionsvorlage unter Verwendung des Funktionszeigers [https://stackoverflow.com/questions/18701018/clean-implementation-of-function-template-taking-function-pointer?rq=1] ...

2 die antwort

decltype (auto) abgeleitet Rückgabetyp von Lambda Capture

Ich habe Compiler, die mit einem kleinen C ++ 14-Code-Snippet nicht einverstanden sind: #include <cassert> struct unmovable { unmovable() {} unmovable(unmovable&&) = delete; }; int main() { unmovable u; auto i = [&]() -> decltype(auto) { ...

10 die antwort

trailing Rückgabetyp mit decltype mit einer variadischen Template-Funktion

Ich möchte einen einfachen Addierer (für Kichern) schreiben, der jedes Argument addiert und eine Summe mit dem entsprechenden Typ zurückgibt. Derzeit habe ich Folgendes: #include <iostream> using namespace std; template <class T> T sum(const T& ...

2 die antwort

Parametertypen einer undefinierten Funktion bestimmen

Ich habe kürzlich erfahren, dass ich nicht: Nehmen Sie die Adresse einer undefinierten Funktion [https://stackoverflow.com/q/38437533/2642059]Nehmen Sie die Adresse einer vorlagenbasierten Funktion mit einem Typ, für den die Kompilierung ...

4 die antwort

Was bedeutet das Wort void () in decltype (void ()) genau?

Dies ist eine Fortsetzung vonDie [https://stackoverflow.com/questions/39278200/is-sizeofvoid-a-legal-expression] Frage, genauer von den Kommentaren vonDie [https://stackoverflow.com/a/39278306/4987285] Antworten Was bewirkt dasvoid() ...