std::generate
提供: cppreference.com
![]() | このページは、Google 翻訳を使って英語版から機械翻訳されました。 翻訳には誤りや奇妙な言い回しがあるかもしれません。文章の上にポインタをおくと、元の文章が見れます。誤りを修正して翻訳を改善する手助けをしてください。翻訳についての説明は、ここをクリックしてください。 |
Defined in header <algorithm> | ||
template<class ForwardIt, class Generator > void generate( ForwardIt first, ForwardIt last, Generator g ); | ||
範囲内の各要素
[first, last)
与えられた関数オブジェクトによって生成された値を代入しg
. Original:
Assigns each element in range
[first, last)
a value generated by the given function object g
. The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目次 |
[編集]パラメータ
first, last | - | 生成する要素の範囲 Original: the range of elements to generate The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | |||||||||
g | - | generator function object that will be called. The signature of the function should be equivalent to the following:
The type Ret must be such that an object of type ForwardIt can be dereferenced and assigned a value of type Ret. | |||||||||
型の要件 | |||||||||||
-ForwardIt は ForwardIterator の要求を満足しなければなりません。 |
[編集]値を返します
(なし)
[編集]複雑性
まさにstd::distance(first, last)
g()
および割り当ての呼び出しが.Original:
Exactly std::distance(first, last) invocations of
g()
and assignments.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集]可能な実装
template<class ForwardIt, class Generator>void generate(ForwardIt first, ForwardIt last, Generator g){while(first != last){*first++= g();}} |
[編集]例
次のコードの用途が乱数のベクトルを塗りつぶします
Original:
The following code uses fills a vector with random numbers:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
このコードを実行します
#include <algorithm>#include <iostream>#include <cstdlib> int main(){std::vector<int> v(5); std::generate(v.begin(), v.end(), std::rand);// Using the C function rand() std::cout<<"v: ";for(auto iv: v){std::cout<< iv <<" ";}std::cout<<"\n";}
出力:
v: 52894 15984720 41513563 41346135 51451456
[編集]参照
要素の範囲を特定の値を割り当てます Original: assigns a range of elements a certain value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数テンプレート) | |
関数のNアプリケーションの結果を保存します Original: saves the result of N applications of a function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数テンプレート) |