📈
juce-cookbook
  • Introduction
  • Getting Started
    • Why JUCE?
    • Other Libraries
    • Resources
  • C++
    • IDE
    • Tools
    • Resources
  • Setup
    • macOS
    • Windows
    • Linux
    • Projucer vs. CMake
    • Create Project
    • Debugging
    • Documentation
  • Coding
    • User Interface
      • Component
      • Button
      • Look&Feel
    • Plug-in
      • Basics
      • Parameter
    • DSP
      • Basics
      • Create your own
    • Modules
    • Misc
    • Examples
    • Snippets
  • Testing
    • Unit tests
    • pluginval
    • Sanitizers
    • Profile
    • Benchmark
  • Continuous Integration
    • Travis CI
    • AppVeyor
    • Publish
  • Wish List
  • What's next
  • License
Powered by GitBook
On this page

Was this helpful?

C++

PreviousResourcesNextIDE

Last updated 4 years ago

Was this helpful?

To use all of the latest JUCE features you should at least use C++14 as your standard. Any newer standard works as well.

Idioms

If the list of idioms & language features below seems familiar to you, you're at a great starting point. If not, I have provided some resources below.

  • Composition

  • Inheritance

    • virtual / override / final

  • Lambdas

  • RAII

  • Constexpr

  • Atomic/Lock

  • Smart Pointer (unique & shared)

  • Exceptions:

  • Where possible: noexcept/const

  • Container

    • array

    • vector

    • map

CppCon 2017: Louis Dionne “Runtime Polymorphism: Back to the Basics”
CppCon 2019: Arthur O'Dwyer “Back to Basics: Lambdas from Scratch”
CppCon 2019: Arthur O'Dwyer “Back to Basics: RAII and the Rule of Zero”
CppCon 2015: Scott Schurr “constexpr: Introduction”
CppCon 2015: Scott Schurr “constexpr: Applications"
CppCon 2019: Rainer Grimm “Atomics, Locks, and Tasks (part 1 of 2)”
CppCon 2019: Rainer Grimm “Atomics, Locks, and Tasks (part 2 of 2)”
CppCon 2019: Arthur O'Dwyer “Back to Basics: Smart Pointers”
CppCon 2019: Ben Saks “Back to Basics: Exception Handling and Exception Safety”
CppCon 2019: Dan Saks “Back to Basics: Const as a Promise”