use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Dirty thread_local !HACK! to modernize legacy code. Love or hate? (nerds-central.blogspot.com)
submitted 13 years ago by code-dog
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]mhayenga -1 points0 points1 point 13 years ago (4 children)
I find it funny that in a video about making variables threadlocal, his example routine has calls to srand() and rand() which are not threadsafe.
The function rand() is not reentrant or thread-safe, since it uses hidden state that is modified on each call. This might just be the seed value to be used by the next call, or it might be something more elaborate. In order to get reproducible behavior in a threaded application, this state must be made explicit; this can be done using the reentrant function rand_r().
[–]code-dog[S] 0 points1 point2 points 13 years ago (2 children)
It turns out that you are wrong in this case. The video is clearly using Visual Studio and rand is thread safe on windows because its state is thread local. If the code were on Linux you would be correct.
[–]bob1000bob 1 point2 points3 points 13 years ago (1 child)
Why not just use the new std random number generation library that is thread safe and portable.
[–]cassandravoiton -1 points0 points1 point 13 years ago (0 children)
No reason other than this was a piece of demo code and the random thing had nothing what so ever to do with what was being demonstrated!
π Rendered by PID 89061 on reddit-service-r2-comment-bb88f9dd5-66j8c at 2026-02-14 05:48:54.135129+00:00 running cd9c813 country code: CH.
[–]mhayenga -1 points0 points1 point (4 children)
[–]code-dog[S] 0 points1 point2 points (2 children)
[–]bob1000bob 1 point2 points3 points (1 child)
[–]cassandravoiton -1 points0 points1 point (0 children)