On 25 Nov 2019, at 09:37, Gregory Casamento <greg.casamento@gmail.com> wrote:
>
> * C++, while this is not exclusive to clang, gcc doesn't support the latest version of C++. Clang is extraordinarily good at optimization.
I don’t think this is true. We have a C++17 project that we test in CI with GCC. The only times that we experience problems are when we use some non-standard attributes that GCC doesn’t support (but we also build with Visual Studio, so we rarely find anything that we need that those two support but GCC doesn’t, it’s only when we have something ELF-specific that’s a problem).
I don’t know how good GCC’s Objective-C++ support is (as I recall, Objective-C and Objective-C++ in GCC aren’t just base-language + Objective-*, so it isn’t necessarily a given that you get full C++17 support in GCC’s Objective-C++), but using C++ smart pointers you can get a lot of ARC (at the very least - and prior to ARC support, I did - you can implement smart pointers that manage Objective-C retain / release and use them to hold Objective-C objects in collections.
David