名稱空間
變體
操作

operator+,-(ranges::enumerate_view::iterator)

來自 cppreference.com
 
 
範圍庫 (Ranges library)
範圍介面卡 (Range adaptors)
 
 
friend constexpr /* iterator */

    operator+( const /* iterator */& i, difference_type n )

    requires ranges::random_access_range</* Base */>;
(1) (C++23 起)
friend constexpr /* iterator */

    operator+( difference_type n, const /* iterator */& i )

    requires ranges::random_access_range</* Base */>;
(2) (C++23 起)
friend constexpr /* iterator */

    operator-( const /* iterator */& i, difference_type n )

    requires ranges::random_access_range</* Base */>;
(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) [編輯]