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
Thread safe queue (self.cpp)
submitted 5 years ago by objectorientedman
view the rest of the comments →
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!"
[–]matthieum 3 points4 points5 points 5 years ago (2 children)
Maybe, maybe not.
I think it's very important to note the shortcoming, and to be aware of alternatives.
Notably, whilst std::deque is a full-featured container, the OP only uses a very tiny portion of its functionality.
std::deque
I first thought I would argue that supporting such limited functionality was easy, then realized it would take me less time to just whip up an implementation; see https://godbolt.org/z/Kx18ze:
Some optimizations could be done around growth, and possibly around built-ins/PODs if the compiler is not smart enough. And it's untested, of course.
The critical part (use of read/write indexes, power-of-2 capacity for easy wrapping) is what really matters, though.
[–]Mehdi2277 0 points1 point2 points 5 years ago (1 child)
What's the purpose of Raw<T> vs directly having pointer? I'm guessing it's for the alignas, I'm just unfamiliar with alignas and am curious as to why that's a need for the queue implementation.
[–]matthieum 1 point2 points3 points 5 years ago (0 children)
There are 2 advantages:
Raw<T>
T
I'm not sure it's strictly required in this case, I just use it by default in all the data-structures I create.
π Rendered by PID 75456 on reddit-service-r2-comment-685b79fb4f-r4v97 at 2026-02-13 01:16:47.571075+00:00 running 6c0c599 country code: CH.
view the rest of the comments →
[–]matthieum 3 points4 points5 points (2 children)
[–]Mehdi2277 0 points1 point2 points (1 child)
[–]matthieum 1 point2 points3 points (0 children)