6

I can't find the information on which C++ version is being currently used in bitcoin core project? Is it decided for future releases somehow? How does the situation looks now?

The only thing I could find was Pieter Wuille's comment:

Bitcoin Core is switching to C++11 in the upcoming 0.13 release. Meanwhile, C++14 is already standardized and C++17 is well underway. Stating that Bitcoin Core always uses the latest features seems like a strange statement.

It may look like some XY problem, so the reason I am asking is my GF is long time C++ dev and I am looking for resources to learn C++ to be able to understand bitcoin code. Her first question was which C++ version it's written in, as it supposedly doesn't make sense to learn older versions.

3
  • 2
    See github.com/bitcoin/bitcoin/issues/16684 and the latest comment by MarcoFalke for the specific features (such as the filesystem). – darosior Dec 14 '20 at 15:03
  • 2
    "it supposedly doesn't make sense to learn older versions" I strongly disagree. Even learning C helps develop C++ acquaintance. And it's too early to consider C++11 obsolete. You might want to skip the parts calling the Boost library since they have "The long term future goal ... to remove Boost as a dependency" and replace it with newer C++ features – MCCCS Dec 14 '20 at 15:38
  • Thanks @darosior! Exactly what I was looking for. @MCCCS thanks for the suggestion. – Tony Sanak Dec 14 '20 at 16:14
5

Bitcoin Core:

  • v0.1.0...v0.12.x: C++03
  • v0.13.0...v0.21.x: C++11
  • v22.0...: C++17 (current master branch, no releases yet)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.