Raymond Chen

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

Post by this author

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.

How do I make an expression non-movable? What’s the opposite of std::move?

You can turn it into a const thing so it's no longer movable, in a conventional sense.

In domain\user syntax, you can often use the period as an abbreviation for “this computer”

A bit of a typing saver, particularly with complex machine names.