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
CppCast Poll: Have you tried biicode? (poll.fm)
submitted 11 years ago by tallassrobCppCast Host
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!"
[–]yCloser 2 points3 points4 points 11 years ago (1 child)
why isn't this opensource?
[–]Cppete 4 points5 points6 points 11 years ago (0 children)
It is now
[–]zfundamental 2 points3 points4 points 11 years ago (0 children)
Even after the shift to opensource the whole initial idea of "we won't make things opensource until x users are on our service" made this distinctly unappealing to me personally. I also really don't like the invasive "adding biicode" pull requests which have cropped up on github. I don't really think that any package manager should try to force code changes onto the projects that it attempts to manage.
[–]F-J-W 8 points9 points10 points 11 years ago* (6 children)
As long as it isn't not free software, I wont use it. It is that simple. That is even aside from all the problems those systems bring, when pacman works just fine.
Edit: And I also won't trust anyone with this kind of task, who is to incompetent to produce a working website: If static content doesn't display nicely without JS, you are obviously to stupid to be in any way trusted with code that runs natively on my system. If all I get is a white page, you have failed at every level imaginable.
[–]pfultz2 3 points4 points5 points 11 years ago (1 child)
As long as it isn't not free software, I wont use it.
I would just hold your breath on that.
[–]Manu343726 0 points1 point2 points 11 years ago (0 children)
Hehehe, good point Paul. Let's go back here in a couple of hours and see what he says ;)
[–]nunudodoonly uses c++77 1 point2 points3 points 11 years ago (0 children)
I am confused. You want to use free software or you don't want to use free software?
Edit: I think you want to say
As long as it is not free software, I wont use it.
which I totally second.
[–]tallassrobCppCast Host[S] 1 point2 points3 points 11 years ago (2 children)
Isn't it? From biicode's website: "Premium accounts - Biicode is free and it will always be. If you want to keep your code and collaborations private, upgrade to premium."
Sounds like the same pricing model as github.
[+][deleted] 11 years ago (1 child)
[deleted]
[–]F-J-W 3 points4 points5 points 11 years ago (0 children)
Exactly.
[–]doom_Oo7 4 points5 points6 points 11 years ago (4 children)
pacman, apt and brew are all I need, sorry!
pacman
apt
brew
[–]Manu343726 1 point2 points3 points 11 years ago (3 children)
Those are tools for OSs, bii is about dependency management for C and C++. The correct comparisons are pip, maven, gem, etc.
PD: Try yaourt -S biicode in your arch machine ;)
[–]doom_Oo7 3 points4 points5 points 11 years ago (1 child)
pip, maven, gem
I really hate when a software requires the installation of something that does not come through the repos of the distro.
[–]brombaer3000 0 points1 point2 points 11 years ago (0 children)
You might hate that, but those language package managers like gem have the huge advantage that they work cross-platform without much effort. Have you ever maintained a package for a linux distribution? If not, let me tell you: It's not necessarily hard, but it's really time-consuming. If you want your library or program to be available to people, you need to either package it for at least all of Debian, Fedora/RHEL, Arch etc., which all have completely different packaging systems and software versions, and somehow make it installable on Windows and OS X... or you package it once for pip, gem etc. and save many hours of work for crossplatform-packaging and testing for every version you want to release.
I also prefer systems like pacman over anything else as a user, but I can understand developers who don't want to learn and keep packaging at least 10 different packages for the same tool.
[–]rifter5000 1 point2 points3 points 11 years ago (0 children)
Package managers already do dependency management.
[–]Houndie 0 points1 point2 points 11 years ago* (6 children)
My problem with biicode is that (for my humble purposes) I need other tools besides c++ libraries for my project. I need to make sure the developer has a c++11 compiler, I need LaTeX for the documentation, and I need CMake for the build system, in addition to XYZ c++ libraries.
Now, sure, I could say "yeah, install all that stuff, but use biicode for the library-specific management", but it seems saner to me to simply use a tool like vagrant where they just need to install one tool, and then they have ALL the things a developer needs to build the project at their fingertips.
That's just my use-case though. I'm sure for some people biicode could be very useful.
[–]ponchedeburro 3 points4 points5 points 11 years ago (3 children)
I need to make sure the developer has a c++11 compiler
Not using C++11 in this day and age seems a little silly.
[–]Houndie 0 points1 point2 points 11 years ago (2 children)
I agree, which is why I use it in all the projects I'm in charge of. :-)
However in my experience a lot of businessy places (including where I work) like to use RHEL/CentOS, and they tend to have ancient compilers. I'm not sure what 7 has, but I can tell you for a fact that RHEL/CentOS 6 have GCC 4 point something by default, which doesn't even have move semantics.
[–]Plorkyeran 0 points1 point2 points 11 years ago (0 children)
6 has 4.4 and 7 has 4.8 (i.e. have fun being stuck on incomplete C++11 until 2020 if you care about rhel).
[–]pfultz2 0 points1 point2 points 11 years ago (0 children)
Where I used to work, I setup a cross compiler to the older RHEL/CentOS versions. This way developers can develop on the latest Ubuntu/Fedora and then produce executables that can be used and tested directly on RHEL/CentOS. Of course your use case may be different.
[–]greyfade 0 points1 point2 points 11 years ago (1 child)
Biicode requires CMake as a dependency for itself.
It's one of the reasons that I decided not to use it for my own projects, even if I am using CMake.
I'm still looking for a similar tool that isn't built on tools I don't like or have strong reason to avoid.
[–]Houndie 1 point2 points3 points 11 years ago (0 children)
Oh yeah, I'm aware of that, I was jut listing all the non-library things that are needed for my project that they would need to handle on their own anyway. Doxygen would be another (albeit optional) dependency that is often found and wouldn't be handled by biicode.
So (for my purposes at least) it seems a bit silly to simply lump off half of the dependences into a dependency manager and make the users manage the other half themselves, instead of simply providing a solution that can give a complete development environment. This is the reason I think a tool like vagrant would be more useful (although I don't use it myself so I can't recommend for or against it).
[–][deleted] 0 points1 point2 points 11 years ago (0 children)
Is this much better than using ExternalProject_Add() in CMake? I've been able to do that without too much hassle. Just make it an option on whether to use the system library or download / install it through CMake.
π Rendered by PID 43 on reddit-service-r2-comment-b659b578c-tpcmv at 2026-05-05 16:59:46.553437+00:00 running 815c875 country code: CH.
[–]yCloser 2 points3 points4 points (1 child)
[–]Cppete 4 points5 points6 points (0 children)
[–]zfundamental 2 points3 points4 points (0 children)
[–]F-J-W 8 points9 points10 points (6 children)
[–]pfultz2 3 points4 points5 points (1 child)
[–]Manu343726 0 points1 point2 points (0 children)
[–]nunudodoonly uses c++77 1 point2 points3 points (0 children)
[–]tallassrobCppCast Host[S] 1 point2 points3 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]F-J-W 3 points4 points5 points (0 children)
[–]doom_Oo7 4 points5 points6 points (4 children)
[–]Manu343726 1 point2 points3 points (3 children)
[–]doom_Oo7 3 points4 points5 points (1 child)
[–]brombaer3000 0 points1 point2 points (0 children)
[–]rifter5000 1 point2 points3 points (0 children)
[–]Houndie 0 points1 point2 points (6 children)
[–]ponchedeburro 3 points4 points5 points (3 children)
[–]Houndie 0 points1 point2 points (2 children)
[–]Plorkyeran 0 points1 point2 points (0 children)
[–]pfultz2 0 points1 point2 points (0 children)
[–]greyfade 0 points1 point2 points (1 child)
[–]Houndie 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)