Skip to content

Instantly share code, notes, and snippets.

@Oxore
Last active July 12, 2023 15:56
Show Gist options
  • Save Oxore/184a0474b01e53ea024578993eaeb736 to your computer and use it in GitHub Desktop.
Save Oxore/184a0474b01e53ea024578993eaeb736 to your computer and use it in GitHub Desktop.
C++17 в микроконтроллерах (в прошивках)

Причины использовать C++17 в разработке прошивок вместо более старых стандартов

  • std::string_view
  • std::optional<T>
  • std::variant
  • Починено некоторое странное поведение constexpr при использовании std::chrono (надо уточнить, а то я поздабыл)
  • Аттрибуты [[fallthrough]], [[nodiscard]] и [[maybe_unused]]
  • inline для constextpr объектов
  • "init-statement in selection statements". Например можно писать так:
case Somethig::kSomething:
  if (const auto value = data_holder.value; value > 10 && value <= 100) {
    doStuff();
  }
  break;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment