It returns an rvalue reference to arg.
DeclarationFollowing is the declaration for std::move function.
template <class T> typename remove_reference<T>::type&& move (T&& arg) noexcept;C++11
template <class T> typename remove_reference<T>::type&& move (T&& arg) noexcept;Parameters
arg − It is an object.
Return ValueIt returns an rvalue reference that refers to arg.
ExceptionsBasic guarantee − This function never throws exceptions.
Data racesCalling this function introduces no data races.
ExampleIn below example explains about std::move function.
#include <utility> #include <iostream> #include <vector> #include <string> int main () { std::string foo = "It is a foo string"; std::string bar = "It is a bar string"; std::vector<std::string> myvector; myvector.push_back (foo); myvector.push_back (std::move(bar)); std::cout << "myvector contains:"; for (std::string& x:myvector) std::cout << ' ' << x; std::cout << '\n'; return 0; }
Let us compile and run the above program, this will produce the following result −
myvector contains: It is a foo string It is a bar string
utility.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4