4 ms·
The C++ API uses those gross Windows "^" pointers. Literally stopped reading there.
by zelly 6y ago
The C++ API uses those gross Windows "^" pointers. Literally stopped reading there.
- snuxoll 6y agoYou’re thinking of the old C++/CX projection, and, yes, it was awful. C++/WinRT fits right in with modern c++ and got rid of ref new and hats.
- pjmlp 6y agoAlthough C++/WinRT tooling is still lacking versus C++/CX, no syntax highlighting or intelisense for IDL files. Also I don`t get the hate against C++/CLI and C++/CX. Apparently everyone else is allowed to have language extensions on their C and C++ compilers, only Microsoft not.
- snuxoll 6y agoC++/CLI is a necessary evil for operating on the CLR where are object lifetimes may be managed by the CLR and others follow standard C++ memory management. Ultimately it’s raison d'etre is to bridge native code to the CLR where P/Invoke or COM isn’t sufficient (lot of reasons that could be the case), so we deal with it. C++/CX on the other hand only exists because Windows Runtime Components, while based on COM, is still a superset with new features that couldn’t be supported with C++98 and MSVC lacked the necessary C++11/17 features to implement it without needing compiler extensions. Syntax highlighting and Intellisense being absent for MIDL 3 does indeed cause annoyance, however.
- pjmlp 6y agoI guess those explanations were for the wider audience, I am perfectly fine with Microsoft's C++ dialects. Actually my only complaint is the downgrade in tooling experience in name of some ISO purity that I don't care about, and other compiler vendors also do anyway. For the time being I don't plan to adopt C++/WinRT until the tooling experience catches up with C++/CX.
- pjmlp 6y agoYeah, because the clang and GCC language extensions are so much better. Anyway it has been replaced by C++17 compliant C++/WinRT library.