Mersenne Twister is hardly perfect. It's slow, causes a lot of cache misses, and IIRC the output is purely XOR of previous outputs. Do people just bring it up because they like the name?
Deserved or not, Mersenne Twister is somewhat famous among laymen like myself for being very fast relative to it's reasonably high quality. If you can point me at an RNG that is both faster and higher quality, I will be genuinely in your debt.
My layman's understanding is that George Marsaglia's xorshift generator[1] is considerably faster than the Mersenne Twister while still providing high quality randomness.
I've also seen WELL512[2] mentioned in a few places, but I don't know much more about it than the name.
> explicit strong nullptr constant; no more NULL macro nonsense
What is the point of this? C++ defines the null pointer to be always 0. So I never needed the NULL macro in C++ anyway, as I'm allowed to simply type 0 instead.
In how far is that new nullptr constant preferable to writing simply 0?
NULL is actually #defined to 0 in C++ as void* is not implicitly convertible to any pointer type as it is in C. So unlike in C there has been no safety in using NULL. Until now.
You may know that a null pointer is always 0, but you don't know that 0 is always a null pointer -- it may be the result of subtracting an integer from itself. That's the difference.
Visual Studio 2010 has about half the C++11 features (obviously it came out before the full standard was finished). Next release I guess will add more.
With the C++98 standard it took almost a decade to get decent support in mainstream compilers.
This time it's different. Most of C++0x is already implemented in GCC and MSVC. However the implemented subsets are a bit different, but most of it is already there. The last time I checked, MSVC had lots of missing stuff in the standard library. In particular, threads and clocks were missing.
I've been writing C++0x with GCC for two years now.
Yeah, I'm building my subset of C++B right now. Much of the new stuff is either too complex or you will use it too rarely to make use without looking it up.
-foreach loop
-first-class rvalue ("temporary") types
-lambda functions + closures
-implicit typing (auto keyword)
-decltype(), getting "declared type" of any expression
-variadic ... templates
-expanded STL -- incl. threading and RNG's
-construction from C-style initializer list
-Unicode literals
-enum class that doesn't auto-decay to int, enums with configurable base type
-explicit strong nullptr constant; no more NULL macro nonsense
The rest of the stuff is (in my opinion) less general/noteworthy.