- Dev Blogs
- The Old New Thing
The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts
Jan 20, 2025
0
0
Reminder: When a C++ object fails to construct, the destructor does not run
If you need to run after a failed construction, you have to put it in a base class or member variable.
Jan 17, 2025
5
1
The case of the crash when trying to erase an element from a std::set
Another kind of fiasco.
Jan 16, 2025
3
1
In a C++ class template specialization, how can I call the unspecialized version of a method?
You can't talk about things that might exist, so instead talk about things that do.
Jan 15, 2025
0
0
How does GetUserDefaultGeoName choose between ISO 3166-1 and UN M.49 codes?
Clarifying the behavior.
Jan 13, 2025
4
2
A simplified overview of ways to add or update elements in a std::map
And using it to find missing opportunities.
Jan 10, 2025
2
0
Why does inadvertently passing a std::string instead of a char const* to a variadic function crash on x86-32 but not x86-64?
Looking at the calling convention and the small string optimization.
Jan 9, 2025
0
3
Inside STL: Waiting for a std::atomic<std::shared_ptr<T>> to change, part 2
Digging into the libstdc++ implementation.
Jan 8, 2025
1
1
Inside STL: Waiting for a std::atomic<std::shared_ptr<T>> to change, part 1
Waiting on a single pointer, but checking for two.