Suchergebnisse für Anfrage "c++14"

2 die antwort

Wie schreibe ich ein generisches variadisches Lambda, das seine Parameter verwirft?

Ich möchte ein Lambda schreiben, das eine beliebige Anzahl von Argumenten als universelle Referenz verwendet und sie vollständig ignoriert. Die naheliegende Methode wäre, die Syntax für ein universelles Parameterpaket zu verwenden und den ...

2 die antwort

invalid initialization of non-const reference from a rvalue

So habe ich folgende Funktion: void scan(std::istream& is, Handler& h);Ich möchte es auf verschiedene Arten aufrufen, wie: scan(std::cin, Handler()); scan(std::ifstream("myfile"), myhandler); Der Compiler beschwert sich ...

2 die antwort

Verwendung von string_view für die Kartensuche

Der folgende Code baut nicht auf aktuellen Compilern auf (g ++ - 5.3, clang ++ - 3.7). #include <map> #include <functional> #include <experimental/string_view> void f() { using namespace std; using namespace std::experimental; map<string, ...

TOP-Veröffentlichungen

2 die antwort

T declval () anstelle von T && declval () für common_type

Ist es nicht besser, @ zu verwendstd::declval in Form deklariert: template< class T > T declval(); // (1) dann aktuelle: template< class T > T && declval(); // (2)zumstd::common_type (möglicherweise nur für diesen aktuellen Zweck mit einem ...

2 die antwort

Verstehen von Y Combinator durch generische Lambdas

eim Aufbau einer kleinen Lambda-basierten Metaprogramm-Bibliothek musste ich in einem generischen C ++ 14-Lambda eine Rekursion verwenden, um ein @ zu implementiere left-fold [https://en.wikipedia.org/wiki/Fold_(higher-order_function)]. Meine ...

8 die antwort

Ermitteln, ob ein Konstruktor einer abstrakten Basisklasse noexcept ist?

n C ++ 11 und höher, wie Sie bestimmen, ob ein Konstruktor einer abstrakten Basisklasse @ inoexcept? Die folgenden Methoden funktionieren nicht: #include <new> #include <type_traits> #include <utility> struct Base { Base() noexcept; virtual int ...

2 die antwort

Können wir in einer noexcept-Spezifikation auf Member-Variablen verweisen?

Bitte beachten Sie den folgenden Codeausschnitt: template<class Tuple> class vector { public: typename Tuple::size_type size() const noexcept(noexcept(m_elements.size())) { return m_elements.size(); } private: Tuple m_elements; }; class tuple { ...

2 die antwort

Kann ich einen Funktionstyp schreiben, der eine Funktion zurückgibt?

Das Folgende kann nicht auf gcc und clang kompiliert werden #include <type_traits> int foo(); int main() { using R = std::result_of_t<decltype(foo)()>; // error } Der Fehler auf beiden Compilern betrifft die Unzulässigkeit der Deklaration einer ...

2 die antwort

Ist ein standardmäßiger Konstruktor / eine standardmäßige Zuweisung noexcept / constexpr?

Also, meine Frage ist einfach: Ist es sinnvoll, einen standardmäßigen Klassenkonstruktor als @ anzugebenoexcept oderconstexpr (oder irgendetwas anderes, woran du denken könntest)? struct foo { foo() = default; // vs constexpr foo() noexcept = ...

2 die antwort

Kann ich C ++ - Typnamen auf constexpr-Weise erhalten?

Ich möchte beim Kompilieren den Namen eines Typs verwenden. Angenommen, ich habe geschrieben: constexpr size_t my_strlen(const char* s) { const char* cp = s; while(*cp != '\0') { cp++; }; return cp - s; }und jetzt möchte ich haben: template ...