GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::rand(3) C++ Standard Libary std::rand(3)

std::rand - std::rand


Defined in header <cstdlib>
int rand();


Returns a pseudo-random integral value between 0 and RAND_MAX (0 and
RAND_MAX included).


std::srand() seeds the pseudo-random number generator used by rand(). If rand() is
used before any calls to std::srand(), rand() behaves as if it was seeded with
std::srand(1).


Each time rand() is seeded with std::srand(), it must produce the same sequence of
values on successive calls.


Other functions in the standard library may call rand. It is implementation-defined
which functions do so.


It is implementation-defined whether rand() is thread-safe.


(none)


Pseudo-random integral value between 0 and RAND_MAX.


There are no guarantees as to the quality of the random sequence produced. In the
past, some implementations of rand() have had serious shortcomings in the
randomness, distribution and period of the sequence produced (in one well-known
example, the low-order bit simply alternated between 1 and 0 between calls).


rand() is not recommended for serious random-number generation needs.
It is recommended to use C++11's random number generation facilities to replace
rand().
(since C++11)

// Run this code


#include <cstdlib>
#include <iostream>
#include <ctime>


int main()
{
std::srand(std::time(nullptr)); // use current time as seed for random generator
int random_variable = std::rand();
std::cout << "Random value on [0 " << RAND_MAX << "]: "
<< random_variable << '\n';


// roll 6-sided dice 20 times
for (int n=0; n != 20; ++n) {
int x = 7;
while(x > 6)
x = 1 + std::rand()/((RAND_MAX + 1u)/6); // Note: 1+rand()%6 is biased
std::cout << x << ' ';
}
}


Random value on [0 2147483647]: 726295113
6 3 6 2 6 5 6 3 1 1 1 6 6 6 4 1 3 6 4 2


uniform_int_distribution produces integer values evenly distributed across a range
(C++11) (class template)
srand seeds pseudo-random number generator
(function)
RAND_MAX maximum possible value generated by std::rand
(macro constant)
randint generates a random integer in the specified range
(function template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.