Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
C++CodeRAD Studio

What Are The C++ 17 Random Number Generators

What Are The C++ 17 Random Number Generators

Hello developers, I hope you are all happy and well. This week we have new C++ posts about modern random generators in modern programming today. Since C++11, in addition to rand() and std::rand(), we have new random number generators. These are called Mersenne Twister random generators; mt19937 (std::mt19937) for 32-bit applications and mt19937_64 (std::mt19937_64) for 64-bit applications. In the first post, we explain what rand(), std::rand(), and mt19937 random number generators are. In another post, we list differences between them, such as the C style rand(), std::rand() and C++, mt19937_64, and std::mt19937_64 in a comparison table. In the last post, we explain what the void_t alias template is in C++17.

Our educational LearnCPlusPlus.org site has a broad selection of new and unique posts with examples suitable for everyone from beginners to professionals alike. It is growing well thanks to you, and we have many new readers, thanks to your support! The site features a treasure-trove of posts that are great for learning the features of modern C++ compilers with very simple explanations and examples.

RAD Studio’s C++ BuilderDelphi, and their free community editions C++ Builder CE, and Delphi CE are powerful tools for modern application development.

Where I can I learn C++ to test these examples with a free C++ compiler?

If you don’t know anything about C++ or the C++ Builder IDE, don’t worry, we have a lot of great, easy to understand examples on the LearnCPlusPlus.org website and they’re all completely free. Just visit this site and copy and paste any examples there into a new Console, VCL, or FMX project, depending on the type of post. We keep adding more C and C++ posts with sample code. In today’s round-up of recent posts on LearnCPlusPlus.org, we have new articles with very simple examples that can be used with:

Read the FAQ notes on the CE license and then simply fill out the form to download C++ Builder 11 CE.

How to use random number generators in modern C++ with C++ Builder?

Random numbers are one of the most important parts of today’s modern programming technologies. They are used in mathematics, physics, many engineering fields, and in programming such as generating random data for testing, random maps in levels, and random trees on a planet – the list is endless. Since C++11, mt19937 (std::mt19937) is implemented as a pseudo random number generator. In the first post, we explain what mt19937 is and how we can use it.

Random numbers are widely used in today’s modern applications. In C we use rand(), srand() and in C++ it is std::rand(), std::srand(). Since C++11, we can use the Mersenne Twister random generators; mt19937 (std::mt19937) for 32-bit applications and mt19937_64 (std::mt19937_64) for 64-bit applications. Modern C++ allows us to use both old and new random generators. In the next post, we explain what are the differences between rand(), std::rand(), std::mt19937(), std::mt19937_64().

In C++ 17, there is a very useful alias template for metaprogramming that can be used to simplify the use of SFINAE. The void_t is a meta-function that is used to map any types (or types) to type void. In the last post, we explained what is and, how you can use it in different examples.

How to learn modern C++ for free using C++ Builder?

LearnCPlusPlus.org has been producing full of educational articles about C and modern C++ that can be used with C++ Builder, C++ Builder CE, Dev-C++, BCC Compiler and some other compilers such as the GCC compiler. Here are our post picks for today.

We like to hear your feedback. You motivate us so much with your likes and comments on social media (find us on Facebook, LinkedIn, Reddit, Twitter / X and all over) and here on the blogs too. Thank you for your valuable comments and questions. All of them help improve the quality of our future posts.

We have a lot of unique posts waiting to come. We keep adding new topics every week about C++ in general and specific topics for C++ Builder, Dev-C++, and for the other C++ compilers. Please keep following our LearnCPlusPlus.org website for the latest posts and updates. Feel free to comment and share with your colleagues, students, members – knowledge is power, and knowledge shared is empowering.

Do you want to know some news about C++ Builder 12?

A few weeks ago, David Millington, Senior Product Manager of C++ Builder, was one of the participants in the RAD Studio 12 launch webinar. RAD Studio 12 focused on many quality and stability improvements for both Delphi and C++ as well as the whole IDE. However, it also contains a number of really great improvements specifically for C++ developers including a new preview of the CLANG toolchain and the totally awesome integration of the popular Visual Assist functionality. The release webinar was one of the longest we’ve done for many years and reflects the sheer amount of new things packed into this bumper release.

Here is the full RAD Studio release webinar replay.

What Are The C++ 17 Random Number Generators C++ Builder logo

C++ Builder is the easiest and fastest C and C++ IDE for building everything from simple to professional applications. It is also easy for beginners to learn with its wide range of samples, tutorials, help files, and LSP support for code. RAD Studio’s C++ Builder version comes with the award-winning VCL framework for high-performance native Windows apps and the powerful FireMonkey (FMX) framework for cross-platform UIs.

There is a free C++ Builder Community Edition for students, beginners, and startups; it can be downloaded from here. For professional developers, there are Professional, Architect, or Enterprise versions of C++ Builder and there is a trial version you can download from here.


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

About author

Dr. Yilmaz Yoru has 35+ years of coding with more than 30+ programming languages, mostly C++ on Windows, Android, Mac-OS, iOS, Linux, and some other operating systems. He graduated and received his MSc and PhD degrees from the Department of Mechanical Engineering of Eskisehir Osmangazi University. He is the founder and CEO of ESENJA LLC Company. His interests are Programming, Thermodynamics, Fluid Mechanics, Artificial Intelligence, 2D & 3D Designs, and high-end innovations.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES