c++ - Swap values of x and y -
how can change values of x , y in code?
when try x=y, y=x; changes same numbers.
how can this?
how can 3 values (x y z)?
#include <iostream> using namespace std; int main() { int x=4; int y=6; cout<<x<<y; return 0; } i tried code before isn't working way want it.
#include <iostream> using namespace std; int main() { int x=4; int y=6; x=y,y=x; cout<<x<<y; return 0; }
this because first set x's value , copy value y. there standard library function called std::swap, should job.
you can see exapmle of here.
std::swap defined in header <algorithm> before c++11 , in <utility> since c++11. make sure #include correct header.
the benefit of using std::swap in c++11 opposed having third temporary variable copy value into, std::swap uses std::move , thereby creates no additional copies.
for 3 numbers you'll have make own implementation this:
#include <iostream> int main() { int x{5}, y{3}, z{2}; int temp{std::move(x)}; x = std::move(y); y = std::move(z); z = std::move(temp); std::cout << x << ' ' << y << ' ' << z << '\n'; return 0; }
Comments
Post a Comment