The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts
How well does wil com_ptr support class template argument deduction (CTAD)?
Falling into a hole in the C++ language, not filled in until C++20.
How well does WRL ComPtr support class template argument deduction (CTAD)?
It tries too hard and accidentally breaks CTAD.
How well does ATL CComPtr support class template argument deduction (CTAD)?
It actually works right out of the box.
How well does MFC IPTR/CIP support class template argument deduction (CTAD)?
Not very well, thanks to requiring the interface ID to be specified explicitly.
How well does _com_ptr_t support class template argument deduction (CTAD)?
Not very well, thanks to storing the pointer and IID pair in a helper type.
Class template argument deduction (CTAD) and C++ COM wrappers: Initial explorations
How well do these libraries support a feature that likely didn't exist at the time they were written?
The 2024/2025 Seattle Symphony subscription season at a glance
The pocket reference guide for 2024/2025.
How can I force a copy of a C++ value?
Forcing a copy with a minimum of typing.
In C++/WinRT, you shouldn’t destroy an object while you’re co_awaiting it
A generalization of the ground rules of programming.