公共成员函数
<iterator>

std::move_iterator::operator*

reference operator*() const;
解引用迭代器
返回指向迭代器所指元素的 *右值引用*。

内部,该函数返回其*基迭代器*的解引用结果,并转换为适当的*右值引用*类型。

迭代器必须指向某个对象才能被*解引用*。

参数



返回值

指向迭代器所指元素的*右值引用*。
成员类型 reference 是指向*基迭代器*自身值类型的*右值引用*类型的别名。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// move_iterator::operator* example
#include <iostream>     // std::cout
#include <iterator>     // std::move_iterator
#include <vector>       // std::vector
#include <string>       // std::string

int main () {
  std::string str[] = {"one","two","three"};
  std::vector<std::string> foo;

  std::move_iterator<std::string*> it (str);
  for (int i=0; i<3; ++i) {
    foo.push_back(*it);
    ++it;
  }

  std::cout << "foo:";
  for (std::string& x : foo) std::cout << ' ' << x;
  std::cout << '\n';

  return 0;
}

输出

foo: one two three


数据竞争

该对象被访问。
返回的引用可用于访问或修改元素。

异常安全

提供与*基迭代器*内部操作相同的保证级别。

另见