operator+,-(ranges::enumerate_view::iterator)
來自 cppreference.com
< cpp | ranges | enumerate_view | iterator
friend constexpr /* iterator */ operator+( const /* iterator */& i, difference_type n ) |
(1) | (C++23 起) |
friend constexpr /* iterator */ operator+( difference_type n, const /* iterator */& i ) |
(2) | (C++23 起) |
friend constexpr /* iterator */ operator-( const /* iterator */& i, difference_type n ) |
(3) | (C++23 起) |
friend constexpr difference_type operator-( const /* iterator */& i, const /* iterator */& j ) noexcept; |
(4) | (C++23 起) |
執行 迭代器 算術或計算距離。
pos_
是底層索引,而 Base
是底層檢視的(可能帶 const 限定符的)型別。
等價於
1) auto temp = i; temp += n; return temp;
2) return i + n;
3) auto temp = i; temp -= n; return temp;
4) return i.pos_ - j.pos_;
這些函式對於普通的非限定查詢或限定查詢不可見,只有當 enumerate_view::iterator<Const>
是引數的關聯類時,才能透過實參依賴查詢 (ADL)找到它們。
目錄 |
[編輯] 引數
i, j | - | 迭代器 |
n | - | 相對於當前位置的偏移量 |
[編輯] 返回值
1,2) 一個自增後的迭代器。
3) 一個自減後的迭代器。
4) 給定迭代器之間的距離。
[編輯] 示例
本節不完整 原因:無示例 |
[編輯] 缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
LWG 3912 | C++23 | 過載 (4) 不是 noexcept | 它是 noexcept |
[編輯] 參閱
前進或後退底層迭代器 (public member function) |