公共成員函式
<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


資料競爭

該物件被訪問。
返回的引用可用於訪問或修改元素。

異常安全

提供與*基迭代器*內部操作相同的保證級別。

另見