名前空間
変種
操作

std::distance

提供: cppreference.com
< cpp‎ | iterator

 
 
イテレータライブラリ
イテレータプリミティブ
Original:
Iterator primitives
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
iterator_traits
input_iterator_tag
output_iterator_tag
forward_iterator_tag
bidirectional_iterator_tag
random_access_iterator_tag
iterator
イテレータアダプタ
Original:
Iterator adaptors
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
reverse_iterator
ストリーム反復子
Original:
Stream iterators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
istream_iterator
ostream_iterator
istreambuf_iterator
ostreambuf_iterator
イテレータ操作
Original:
Iterator operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
advance
distance
prev(C++11)
next(C++11)
アクセスの範囲
Original:
Range access
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
begin(C++11)
end(C++11)
 
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.
Type requirements
-
InputIt must meet the requirements of InputIterator. 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';
}

Output:

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]