Suchergebnisse für Anfrage "argument-dependent-lookup"

4 die antwort

Was sind die Tücken von ADL?

Vor einiger Zeit habe ich einen Artikel gelesen, in dem einige Fallstricke der argumentabhängigen Suche erklärt wurden, aber ich kann ihn nicht mehr finden. Es ging darum, Zugang zu Dingen zu bekommen, zu denen man keinen Zugang haben sollte, ...

8 die antwort

Warum findet ADL keine Funktionsvorlagen?

Welcher Teil der C ++ - Spezifikation beschränkt die argumentabhängige Suche darauf, Funktionsvorlagen in der Menge der zugeordneten Namespaces zu finden? Mit anderen Worten, warum wird der letzte Aufruf inmain unten nicht kompilieren? namespace ...

6 die antwort

Overload operator >> für std :: pair <int, int>

Ich versuche, @ zu verwendboost::lexical_cast auf einenstd::pair<int, int>. #include <iostream> #include <utility> #include <boost/lexical_cast.hpp> namespace my { // When my_pair is a user defined type, this program compiles // and runs ...

TOP-Veröffentlichungen

6 die antwort

Warum funktioniert ADL nicht mit Boost.Range?

In Anbetracht #include <cassert> #include <boost/range/irange.hpp> #include <boost/range/algorithm.hpp> int main() { auto range = boost::irange(1, 4); assert(boost::find(range, 4) == end(range)); }Live Clang ...

4 die antwort

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 ...

2 die antwort

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 ...