Какая версия C++ используется в Bitcoin Core?

Я не могу найти информацию о том, какая версия С++ в настоящее время используется в основном проекте биткойнов? Это как-то решено для будущих релизов? Как ситуация выглядит сейчас?

Единственное, что я смог найти, это комментарий Питера Вуилле :

Bitcoin Core переходит на C++11 в предстоящем выпуске 0.13. Между тем, C++14 уже стандартизирован, а C++17 идет полным ходом. Заявление о том, что Bitcoin Core всегда использует новейшие функции, кажется странным заявлением.

Это может выглядеть как проблема XY, поэтому причина, по которой я спрашиваю, заключается в том, что мой GF долгое время разрабатывал C++, и я ищу ресурсы для изучения C++, чтобы понять код биткойнов. Ее первый вопрос был о том, на какой версии C++ она написана, так как изучение более старых версий якобы не имеет смысла.

См. github.com/bitcoin/bitcoin/issues/16684 и последний комментарий MarcoFalke для конкретных функций (таких как файловая система).
"якобы нет смысла учить старые версии" категорически не согласен. Даже изучение C помогает развить знакомство с C++. И еще рано считать C++11 устаревшим. Возможно, вы захотите пропустить части, вызывающие библиотеку Boost, поскольку у них есть «долгосрочная будущая цель ... удалить Boost как зависимость» и заменить ее более новыми функциями C++.
Спасибо @darosior! Именно то, что я искал. @MCCCS спасибо за предложение.

Ответы (1)

Биткойн-ядро:

  • v0.1.0...v0.12.x: С++ 03
  • v0.13.0...v0.21.x: С++ 11
  • v22.0...: С++ 17
Какие особенности языка используются из C++17 или даже C++11?
Их много, и какой из них меняется от релиза к релизу. IIRC, в первых нескольких выпусках C ++ 11 некоторых функций избегали, потому что они не поддерживались должным образом на всех компиляторах, несмотря на то, что номинально поддерживали C ++ 11.