Resultados de la búsqueda a petición "argument-dependent-lookup"

5 la respuesta

¿Por qué se inventó la búsqueda dependiente de argumentos?

¿Por qué se inventó la búsqueda dependiente de argumentos (ADL)? ¿Es solo para que podamos escribir?cout << stuff en lugar destd::operator<<(cout, stuff)? Si ese es el caso, ¿por qué ADL no se limitó a los operadores en lugar de todas ...

3 la respuesta

¿Qué significa `usar std :: swap` dentro del cuerpo de una implementación de método de clase?

Durante algunas prácticas de c ++, estaba tratando de aprender y adoptar el modismo de intercambio de copias siguiendo esta explicación detallada sobre esta pregunta:el modismo Copy-Swap [https://stackoverflow.com/q/3279543/356440]. Pero ...

3 la respuesta

Comportamiento interesante del compilador con espacios de nombres

Asuma el siguiente código: #include <iostream> using namespace std; namespace X { class A{}; void f(A a){} void g(int a){} } int main() { X::A a; f(a); g(5); }Cuando compilo el código, se produce el siguiente error de compilación: main.cpp: en ...

3 la respuesta

Operador de sobrecarga >> para std :: pair <int, int>

Estoy tratando de usarboost::lexical_cast en unstd::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 without any ...

4 la respuesta

Por qué la búsqueda dependiente de argumentos no funciona con la plantilla de función dynamic_pointer_cast

Considere el siguiente programa de C ++: #include <memory> struct A {}; struct B : A {}; int main() { auto x = std::make_shared<A>(); if (auto p = dynamic_pointer_cast<B>(x)); } Al compilar con MSVC 2010, obtengo el siguiente error: error ...

2 la respuesta

obtener un elemento de una tupla [duplicar]

Posible duplicado: ¿Por qué ADL no encuentra plantillas de funciones? [https://stackoverflow.com/questions/2953684/why-doesnt-adl-find-function-templates] Callingget no parece invocar la búsqueda dependiente del argumento: auto t = ...

6 la respuesta

Comportamiento diferente para la búsqueda de nombres calificados y no calificados para la plantilla

¿Cómo debería comportarse este código? Llama a la función genérica ignorando mi sobrecarga si usocalificad nombre encall_read() función; y llama sobrecarga primero y luego versión genérica si usoincondiciona nombre. ¿Cual es la diferencia? ¿Es ...

2 la respuesta

Comience genéricamente, más decltype considerando la declaración de uso local

l bucle a distancia de @ C ++ 0x tiene una excepción especial para manejar matrices (FDIS §6.5.4), y hay dos funciones, std :: begin y end, que están sobrecargadas para manejar matrices o para seleccionar métodos de inicio / fin . Esto me lleva a ...

4 la respuesta

¿Cómo escribo un tipo de retorno final habilitado para ADL o una especificación sin excepción?

Imagina que estoy escribiendo una plantilla de contenedor o algo así. Y llega el momento de especializarsestd::swap para ello. Como buen ciudadano, habilitaré ADL haciendo algo como esto: template <typename T> void swap(my_template<T>& x, ...

4 la respuesta

¿Por qué ADL no encuentra plantillas de funciones?

¿Qué parte de la especificación C ++ restringe la búsqueda dependiente de argumentos para encontrar plantillas de funciones en el conjunto de espacios de nombres asociados? En otras palabras, ¿por qué la última llamada enmain a continuación no ...