To use all of the latest JUCE features you should at least use C++14 as your standard. Any newer standard works as well.
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
- CppCon 2017: Louis Dionne “Runtime Polymorphism: Back to the Basics”
- Lambdas
- RAII
- Constexpr
- Atomic/Lock
- Smart Pointer (unique & shared)
- Exceptions:
- Where possible:
noexcept
/const
- Container
- array
- vector
- map