Sự miêu tả
Nó xây dựng một đối tượng move_iterator từ nó.
Tờ khai
Sau đây là khai báo cho std :: make_move_iterator.
C ++ 11
template <class Iterator>
move_iterator<Iterator> make_move_iterator (const Iterator& it);
Thông số
it - Nó là một trình lặp.
Giá trị trả lại
Nó trả về một move_iterator tương đương với nó, nhưng nó sẽ di chuyển trên các tham chiếu.
Ngoại lệ
Nếu x bằng cách nào đó ném trong khi áp dụng toán tử một ngôi & cho nó, hàm này không bao giờ ném ra ngoại lệ.
Thời gian phức tạp
hằng số cho các trình vòng lặp truy cập ngẫu nhiên.
Thí dụ
Ví dụ sau đây cho thấy cách sử dụng std :: make_move_iterator.
#include <iostream>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
int main () {
std::vector<std::string> foo (3);
std::vector<std::string> bar {"tutorialspont","com","india"};
std::copy ( make_move_iterator(bar.begin()),
make_move_iterator(bar.end()),
foo.begin() );
// bar now contains unspecified values; clear it:
bar.clear();
std::cout << "foo:";
for (std::string& x : foo) std::cout << ' ' << x;
std::cout << '\n';
return 0;
}
Hãy để chúng tôi biên dịch và chạy chương trình trên, điều này sẽ tạo ra kết quả sau:
foo: tutorialspont com india