The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Mar 18, 2024
Post comments count 0
Post likes count 1

How well does wil com_ptr support class template argument deduction (CTAD)?

Raymond Chen

Falling into a hole in the C++ language, not filled in until C++20.

Mar 15, 2024
Post comments count 4
Post likes count 1

How well does WRL ComPtr support class template argument deduction (CTAD)?

Raymond Chen

It tries too hard and accidentally breaks CTAD.

Mar 14, 2024
Post comments count 1
Post likes count 1

How well does ATL CComPtr support class template argument deduction (CTAD)?

Raymond Chen

It actually works right out of the box.

Mar 13, 2024
Post comments count 1
Post likes count 1

How well does MFC IPTR/CIP support class template argument deduction (CTAD)?

Raymond Chen

Not very well, thanks to requiring the interface ID to be specified explicitly.

Mar 12, 2024
Post comments count 0
Post likes count 2

How well does _com_ptr_t support class template argument deduction (CTAD)?

Raymond Chen

Not very well, thanks to storing the pointer and IID pair in a helper type.

Mar 11, 2024
Post comments count 3
Post likes count 3

Class template argument deduction (CTAD) and C++ COM wrappers: Initial explorations

Raymond Chen

How well do these libraries support a feature that likely didn't exist at the time they were written?

Mar 8, 2024
Post comments count 0
Post likes count 0

The 2024/2025 Seattle Symphony subscription season at a glance

Raymond Chen

The pocket reference guide for 2024/2025.

Mar 8, 2024
Post comments count 5
Post likes count 1

How can I force a copy of a C++ value?

Raymond Chen

Forcing a copy with a minimum of typing.

Mar 7, 2024
Post comments count 4
Post likes count 1

In C++/WinRT, you shouldn’t destroy an object while you’re co_awaiting it

Raymond Chen

A generalization of the ground rules of programming.