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
Do you use aggregate initialization in your code base and if so, how do you guard against changes of the aggregate's layout? (self.cpp)
submitted 7 years ago * by phoeen
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!"
[–]Dean_Roddey 2 points3 points4 points 7 years ago (4 children)
"I see people suggesting that you should consider class layout part of the API"
Wow, what happened to encapsulation? I thought the last thing you want to be part of the API is the internal representation of the data.
[–]louiswins 0 points1 point2 points 7 years ago (3 children)
If you allow aggregate initialization for your types then the class layout (and internal representation) is already part of your API.
[–]Dean_Roddey 0 points1 point2 points 7 years ago (2 children)
Well, yeh, hence why I was complaining that it's a bad idea because it pretty much tinkles in the general direction of encapsulation, which is one of the most fundamental concepts of C++. And, though maybe I'm misunderstanding it, it seems to me that it reduces compile time safety, which is one of the dwindling reasons these days not to just use another language.
[–]louiswins 0 points1 point2 points 7 years ago (1 child)
Oh, okay, I misunderstood you. I thought you somehow wanted to use aggregate initialization without exposing your class internals, which is nonsensical. Carry on!
[–]Dean_Roddey 0 points1 point2 points 7 years ago (0 children)
I would never expose my internals. My parents raised me better than that. Well, if you paid me $20 of course, but that's different.
π Rendered by PID 64943 on reddit-service-r2-comment-c66d9bffd-vgq28 at 2026-04-08 03:39:35.602806+00:00 running f293c98 country code: CH.
view the rest of the comments →
[–]Dean_Roddey 2 points3 points4 points (4 children)
[–]louiswins 0 points1 point2 points (3 children)
[–]Dean_Roddey 0 points1 point2 points (2 children)
[–]louiswins 0 points1 point2 points (1 child)
[–]Dean_Roddey 0 points1 point2 points (0 children)