This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
modernizing_the_vanillajuce_code_base [2017/08/31 21:17] shane [Modernizing the VanillaJuce code base] |
modernizing_the_vanillajuce_code_base [2017/09/01 19:49] (current) shane [Newer C++ features and constructs] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Coding Practices ==== | ||
- | * [[Modernizing the VanillaJuce code base]] -- purging outdated practices in C++ code | ||
====== Modernizing the VanillaJuce code base ====== | ====== Modernizing the VanillaJuce code base ====== | ||
Line 32: | Line 30: | ||
===== Outdated C syntax and library functions ===== | ===== Outdated C syntax and library functions ===== | ||
- | * enum class rather than typedef enum | + | * [[enum_class_rather_than_typedef_enum|C++11 "enum class" |
- | * sprintf/ | + | * [[eliminate_char_arrays|C++ |
- | * juce:: | + | * [[constexpr instead of preprocessor |
- | * constexpr instead of #define | + | |
===== Pointers and references ===== | ===== Pointers and references ===== | ||
- | * avoid new/delete | + | * [[Avoid |
- | * pass references | + | |
- | * use member variables for subcomponents rather than pointers | + | |
===== Newer C++ features and constructs ===== | ===== Newer C++ features and constructs ===== | ||
- | | + | The following two items remain open at this point, pending further guidance from more experienced JUCE developers. I reviewed all my '' |
- | * inline member variable initialization | + | Comments welcome on the JUCE Forum! |
- | * take advantage of established cast operators (foo(" | + | |
+ | * [[inline member variable initialization]] | ||