Improve C++ code
C++ improvements

Part of the ongoing process of C++ tidies.
Remove unnecessary tests

C++ FAQ lite 16.6
Further C++ updates