Durante un poco de práctica de C++, estaba tratando de aprender y adoptar el modismo de copiado después de esta exhaustiva explicación sobre esta pregunta: the Copy-Swap Idiom.¿Qué significa `using std :: swap` dentro del cuerpo de una implementación de método de clase?
Pero he encontrado algo de código que nunca había visto: using std::swap; // allow ADL
en este ejemplo
class dumb_array
{
public:
// ...
void swap(dumb_array& pOther) // nothrow
{
using std::swap; // allow ADL /* <===== THE LINE I DONT UNDERSTAND */
swap(mSize, pOther.mSize); // with the internal members swapped,
swap(mArray, pOther.mArray); // *this and pOther are effectively swapped
}
};
- ¿qué quiere decir
using std::swap;
en el interior del cuerpo de una función aplicación? - ¿Qué significa ADL?
[La respuesta de MSalter] (http://stackoverflow.com/a/4782809/464581) es en mi humilde opinión la mejor respuesta más completa, ya que explica sobre ADL (que es la razón completa para hacer el 'uso' aquí) . Creo que deberías seleccionar eso como una solución. –