名前空間
変種
操作

std::distance

提供: cppreference.com
< cpp‎ | iterator

Defined in header <iterator>
template< class InputIt >

typename std::iterator_traits<InputIt>::difference_type

    distance( InputIt first, InputIt last );
first間の要素の数を返し、last.
Original:
Returns the number of elements between first and last.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
last(おそらく繰り返し)firstをインクリメントすることでfirstから到達できない場合の動作は未定義です.
Original:
The behavior is undefined if last is not reachable from first by (possibly repeatedly) incrementing first.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目次

[編集] パラメータ

first -
最初の要素を指すイテレータを返す
Original:
iterator pointing to the first element
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
last -
最後の要素を指すイテレータを返す
Original:
iterator pointing to the last element
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
型の要件
-
InputItInputIterator

の要求を満足しなければなりません。 The operation is more efficient if InputIt additionally meets the requirements of RandomAccessIterator

[編集] 値を返します

firstlast間の要素の数.
Original:
The number of elements between first and last.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集] 複雑

リニア.
Original:
Linear.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
InputItはさらにRandomAccessIteratorの要件を満たしている場合は、複雑さが一定である.
Original:
However, if InputIt additionally meets the requirements of RandomAccessIterator, complexity is constant.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集]

#include <iostream>
#include <iterator>
#include <vector>
 
int main() 
{
    std::vector<int> v{ 3, 1, 4 };
 
    auto distance = std::distance(v.begin(), v.end());
 
    std::cout << distance << '\n';
}

出力:

3

[編集] も参照してください

指定された距離によって進歩イテレータ
Original:
advances an iterator by given distance
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(関数) [edit]