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 22:30] shane |
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 and other standard | + | * [[eliminate_char_arrays|C++ string |
| - | * [[juce:: | + | * [[constexpr instead of preprocessor |
| - | * [[constexpr instead of #define]] | + | |
| ===== Pointers and references ===== | ===== Pointers and references ===== | ||
| - | * [[avoid new/delete]] | + | * [[Avoid new/delete, prefer |
| - | * [[pass | + | |
| - | * [[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 '' | ||
| + | Comments welcome on the JUCE Forum! | ||
| * [[Range-based for loops]] | * [[Range-based for loops]] | ||
| * [[inline member variable initialization]] | * [[inline member variable initialization]] | ||
| - | * [[take advantage of established cast operators (foo(" | ||