В течение некоторого практического занятия на С++ я пытался изучить и принять идиому с копией-заменой, следуя этому подробному объяснению по этому вопросу: Идиома с копией смены.
Но я нашел код, которого я никогда не видел: using std::swap; // allow ADL
в этом примере
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
}
};
- что означает
using std::swap;
внутри тела функции реализация? - Что означает ADL?