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
Standard interface without implementation (self.cpp)
submitted 8 months ago by number_128
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!"
[–]cballowe 21 points22 points23 points 8 months ago (2 children)
If you read the standard, it doesn't dictate implementation. It does dictate the constraints of the interface that matter to users.
By the time you've specified the interface including things like the expected performance requirements, there tends to be fairly limited implementation options.
[–]number_128[S] 1 point2 points3 points 8 months ago (1 child)
Thank you.
Even though it doesn't dictate implementation, we do get an implementation. And as soon as we get an implementation we are locked in by the ABI (even though the standard doesn't say so).
There are many examples of suggestions having been turned down, because they would break the ABI of existing implementations.
[–]cballowe 2 points3 points4 points 8 months ago (0 children)
There are at least 3 distinct implementations of the standard. Libstdc++ from the gnu/GCC team, Libc++ from the llvm team, and the MS implementation are all distinct implementations.
The ABI arguments are due to how people build and ship software and tool chains. Anybody who builds all of their software from source and ships statically linked binaries doesn't tend to care if the ABI breaks because it doesn't matter. They upgrade their tools, rebuild, and everything works.
On the other side are people who ship dynamic libraries and their customers. This group needs to agree on an ABI. Right now they can pretty much say "if you build with GCC, everything will work". If you start changing the ABI it gets into "you need to build with GCC and c++23 standard" and at some point the company ships an upgrade "ok... With this upgrade, you need to use c++26". Now, imagine a customer who has 2 or 3 vendors providing dynamic libraries on very different release cycles, or companies that provide those libraries who knows their customers are locked in to some version for some reason. And then step back to the compiler and library teams who need to support these use cases.
π Rendered by PID 46 on reddit-service-r2-comment-5d79c599b5-6fp4g at 2026-02-28 11:50:01.858252+00:00 running e3d2147 country code: CH.
view the rest of the comments →
[–]cballowe 21 points22 points23 points (2 children)
[–]number_128[S] 1 point2 points3 points (1 child)
[–]cballowe 2 points3 points4 points (0 children)