public member function (公共成員函式)
<random>
void discard (unsigned long long z);
Advance internal state (推進內部狀態)
Advances the internal state by z notches, as if operator() was called z times, but without generating any numbers in the process. (將內部狀態推進 z 個刻度,就像呼叫了 operator() z 次一樣,但在此過程中不生成任何數字。)
The effects on the state sequence are the same as if the transition algorithm was applied as many times as notches advanced on subsequent elements. (對狀態序列的影響與將轉換演算法應用到後續元素上的刻度一樣多次相同。)
引數
- z
- Number of equivalent advances. (等效推進的次數。)
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
// subtract_with_carry_engine::discard
#include <iostream>
#include <chrono>
#include <random>
int main ()
{
// obtain a seed from the system clock:
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::subtract_with_carry_engine<unsigned,24,10,24> generator (seed);
std::cout << "Random value: " << generator() << std::endl;
generator.discard(1);
std::cout << "Random value: " << generator() << std::endl;
return 0;
}
|
可能的輸出
Random value: 14872181
Random value: 5758068
|
複雜度
Linear in z. (與z呈線性關係。)