tu bardziej elegancko jest wykorzystać std::swap