std::make_move_iterator
De cppreference.com
[] |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
<metanoindex/>
<tbody> </tbody>| Dclar dans l'en-tte <iterator>
|
||
template< class Iterator > std::move_iterator<Iterator> make_move_iterator( const Iterator& i ); |
(depuis C++11) | |
make_move_iterator est un modle de fonction de confort qui construit un std::move_iterator pour l'itrateur i propose avec le type dduit du type de l'argument .Original:
make_move_iterator is a convenience function template that constructs a std::move_iterator for the given iterator i with the type deduced from the type of the argument.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Paramtres
| i | - | itrateur d'entre convertir pour dplacer itrateur
Original: input iterator to be converted to move iterator The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Retourne la valeur
Un std::move_iterator qui peut tre utilis pour dplacer des lments accessibles par
iOriginal:
A std::move_iterator which can be used to move from the elements accessed through
iThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Mise en uvre possible
template< class Iterator >
std::move_iterator<Container> make_move_iterator( const Iterator& i)
{
return std::move_iterator<Iterator>(i);
}
|
Exemple
#include <iostream>
#include <list>
#include <vector>
#include <string>
#include <iterator>
int main()
{
std::list<std::string> s{"one", "two", "three"};
std::vector<std::string> v1(s.begin(), s.end()); // copy
std::vector<std::string> v2(std::make_move_iterator(s.begin()),
std::make_move_iterator(s.end())); // move
std::cout << "v1 now holds: ";
for(auto str : v1)
std::cout << "\"" << str << "\" ";
std::cout << "\nv2 now holds: ";
for(auto str : v2)
std::cout << "\"" << str << "\" ";
std::cout << "\noriginal list now holds: ";
for(auto str : s)
std::cout << "\"" << str << "\" ";
std::cout << '\n';
}
Rsultat :
v1 now holds: "one" "two" "three"
v2 now holds: "one" "two" "three"
original list now holds: "" "" ""
Voir aussi
(C++11) |
Adaptateur itrateur qui drfrence une rfrence rvalue Original: iterator adaptor which dereferences to an rvalue reference The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (classe gnrique) |
(C++11) |
obtient une rfrence rvalue Original: obtains an rvalue reference The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction gnrique) |