Suchergebnisse für Anfrage "name-lookup"
Rückgabetyp des bedingten Operators und zweiphasige Suche
Betrachten Sie das folgende Snippet: struct Base { }; struct Derived : Base { }; void f(Base &) { std::cout << "f(Base&)\n"; } template <class T = int> void g() { Derived d; f(T{} ? d : d); // 1 } void f(Derived &) { std::cout << ...
Name versteckt durch Deklaration
#include <iostream> struct H { void swap(H &rhs); }; void swap(H &, H &) { std::cout << "swap(H &t1, H &t2)" << std::endl; } void H::swap(H &rhs) { using std::swap; swap(*this, rhs); } int main(void) { H a; H b; a.swap(b); }Und das ist das ...
Warum ist dieser Aufruf von swap () nicht eindeutig?
Das folgende Programm #include <algorithm> #include <utility> #include <memory> namespace my_namespace { template<class T> void swap(T& a, T& b) { T tmp = std::move(a); a = std::move(b); b = std::move(tmp); } template<class T, class Alloc ...
Welche Regel erlaubt "this->" den Zugriff auf Mitglieder abhängiger Basisklassen?
Wie wir wissen, ist der Code unten schlecht geformt, weil das Mitgliedx ist in einer abhängigen Basisklasse. Ändern jedochx zuthis->x in der angezeigten Zeile würde den Fehler beheben. template <typename T> struct B { int x; }; template ...
Name Suche und Klassenbereich
Warum ist der Rückgabetyp von setVal vom Typ string und der Parametertyp vom Typ double typedef string Type; Type initVal(); class Exercise { public: typedef double Type; Type setVal(Type); Type initVal(); private: int val; }; ...
Ambiguous Name Lookup mit using-Direktive
Es ist nicht zulässig, einen Namespace und eine Klasse mit demselben Namen in einen deklarativen Bereich zu setzen, d. H. namespace A {} class A{};ist schlecht geformt [http://coliru.stacked-crooked.com/a/5b837907b4d0609c] (siehe §3.3.1 / 4). ...
C ++, das die Existenz freier Funktionen mit expliziten Parametern erkennt
Ich schreibe einige Typmerkmale, um zu sehen, ob eine freie Funktion mit einem bestimmten Satz von Parametern existiert. Die Funktionen haben eine Signatur, die ungefähr so aussieht: template <class T> void func( SomeClass &, SomeType const & ...
Operator im Namespace-Bereich, der einen anderen im globalen Bereich versteckt
Ist das ein Compiler-Bug?
Zwei-Phasen-Namenssuche für C ++ - Vorlagen - Warum?
Warum definiert der C ++ - Standard eine zweiphasige Suche nach Vorlagen? Konnten nicht auch Suchvorgänge für nicht abhängige Deklarationen und Definitionen ...
Warum schattenfreie Funktionen für Klassenmitglieder mit demselben Namen?
Es ist mir kürzlich aufgefallen dieses Mitglied funktioniertvollständigSchatten freie Funktionen mit dem gleichen Namen innerhalb der Klasse. Und damit meine...
Seite 1 von 2