address a number of gcc9 warnings
- Fix spurious gcc maybe-uninitialized warning (which wasn't suppressed for gcc9)
- Fix a number of "implicitly-declared 'constexpr T& T::operator=(const T&)' is deprecated [-Wdeprecated-copy]" gcc9 warnings
Edited by Marco Cattaneo