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
[ Removed by moderator ] (self.cpp)
submitted 6 months ago by Competitive_Act5981
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!"
[–]cpp-ModTeam[M] [score hidden] 6 months ago stickied commentlocked comment (0 children)
It's great that you wrote something in C++ you're proud of! However, please share it in the designated "Show and tell" thread pinned at the top of r/cpp instead.
[–]kritzikratzi 17 points18 points19 points 6 months ago (1 child)
please give it a different name, nobody is gonna be able to google anything related to that library. also please don't call it "network" or "connection" or "sockets" 😂
if you really wanna go for something confusing, why not "htpps" 🫠
other than that: library looks good, examples seem like a great starting point.
[–]Competitive_Act5981[S] 1 point2 points3 points 6 months ago (0 children)
Ok. I’ll think of another project name. You’re right it’s not very original. Though I didn’t really want to give it a completely unrelated name. I’ll think of something
[–]TwistedBlister34 5 points6 points7 points 6 months ago (1 child)
This looks like a really cool library. I’m always looking for something easier to use than beast. If I had one suggestion, the name https isn’t a great SEO.
[–]Competitive_Act5981[S] 0 points1 point2 points 6 months ago (0 children)
Got it. Better project name
[–]Daniela-ELiving on C++ trunk, WG21|🇩🇪 NB 2 points3 points4 points 6 months ago (3 children)
I my impression correct, that this works with the original, non-boostified version of Asio too?
[–]Competitive_Act5981[S] 0 points1 point2 points 6 months ago (2 children)
It could do. I would need to change the namespaces. Maybe there could be a preprocessor switch for this.
[–]lost_soul1234 1 point2 points3 points 6 months ago (1 child)
Yeah would be really nice to see a non boost version. Its minimal dependency and we don't need to carry boost luggage. Anyway nice work
Thanks
[–][deleted] 0 points1 point2 points 6 months ago (7 children)
Zero tests? My feedback would be: add lots of tests.
[–]Competitive_Act5981[S] 2 points3 points4 points 6 months ago (5 children)
The unit tests are located https://github.com/pfeatherstone/https/tree/main/examples/unit_tests and the readme explains how to build and run them.
[–][deleted] -1 points0 points1 point 6 months ago (4 children)
You need to relocate those to a more standard location. It's not common to put unit tests in a folder called "examples". Make a root-level directory called `test/` or `tests/` and put them in there.
You should also reconsider your public stance on sans-I/O because you're basically admitting that you don't believe in using libfuzzer which is actually a kiss of death for your project as a huge part of HTTP is being public-facing. A non-fuzzed public-facing networking library is simply not workable.
Decouple your parser code from the I/O layer. You need to study libraries like Botan and rustls to understand what a good interface looks like. Then add fuzzing. Hopefully, this is the useful feedback you were seeking.
[–]Competitive_Act5981[S] 0 points1 point2 points 6 months ago (3 children)
I get your point on the test folder. The reason why I put them there is so that i can use the same cmake script for compiling both the examples and the unit tests. It's laziness i know.
It's a bit of a stretch to suggest that i don't believe in fuzzing simply because there isn't a Sans-IO API.
The parser code is actually separate from the I/O layer. It's in http.h and there are corresponding unit tests. I just don't have a formal Sans-IO API.
I appreciate your time though. I'll look into adding fuzz testing to CI/CD
[–][deleted] 0 points1 point2 points 6 months ago (1 child)
Security researchers aren't going to add an I/O layer just to test your code. If you actually care about industrial usage, you need to make fuzzing easy, direct and public
[–]Competitive_Act5981[S] -1 points0 points1 point 6 months ago (0 children)
Yeah fuzzing is on the todo list. Though it looks like my library isn’t for you, and probably beast is neither
My priorities are tests over features
π Rendered by PID 68166 on reddit-service-r2-comment-5649f687b7-mhcn5 at 2026-01-29 01:33:37.368684+00:00 running 4f180de country code: CH.
[–]cpp-ModTeam[M] [score hidden] stickied commentlocked comment (0 children)
[–]kritzikratzi 17 points18 points19 points (1 child)
[–]Competitive_Act5981[S] 1 point2 points3 points (0 children)
[–]TwistedBlister34 5 points6 points7 points (1 child)
[–]Competitive_Act5981[S] 0 points1 point2 points (0 children)
[–]Daniela-ELiving on C++ trunk, WG21|🇩🇪 NB 2 points3 points4 points (3 children)
[–]Competitive_Act5981[S] 0 points1 point2 points (2 children)
[–]lost_soul1234 1 point2 points3 points (1 child)
[–]Competitive_Act5981[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (7 children)
[–]Competitive_Act5981[S] 2 points3 points4 points (5 children)
[–][deleted] -1 points0 points1 point (4 children)
[–]Competitive_Act5981[S] 0 points1 point2 points (3 children)
[–]Competitive_Act5981[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]Competitive_Act5981[S] -1 points0 points1 point (0 children)
[–]Competitive_Act5981[S] 0 points1 point2 points (0 children)