C++ Utility Library - move Function



Description

It returns an rvalue reference to arg.

Declaration

Following 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 Value

It returns an rvalue reference that refers to arg.

Exceptions

Basic guarantee − This function never throws exceptions.

Data races

Calling this function introduces no data races.

Example

In 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
Advertisements