This point sticks out. Would be nice to get some more details why it would make sense to use C++ for the implementation instead of C.
This point sticks out. Would be nice to get some more details why it would make sense to use C++ for the implementation instead of C.
https://devblogs.microsoft.com/cppblog/the-great-c-runtime-c...
Microsoft has done the same with their new C runtime, and they have written a couple of blog posts exactly about that subject.
From "The Great C Runtime (CRT) Refactoring"
> So, as part of this great refactoring of the CRT, we have done an enormous amount of work to simplify and improve the quality of the code, so that it is easier to add features and fix bugs in the future. We have converted most of the CRT sources to compile as C++, enabling us to replace many ugly C idioms with simpler and more advanced C++ constructs. The publicly callable functions are still declared as C functions, of course (extern "C" in C++), so they can still be called from C. But internally we now take full advantage of the C++ language and its many useful features.
-- https://devblogs.microsoft.com/cppblog/the-great-c-runtime-c...
"C Runtime (CRT) Features, Fixes, and Breaking Changes in Visual Studio 14 CTP1"
https://devblogs.microsoft.com/cppblog/c-runtime-crt-feature...
"Introducing the Universal CRT"
https://devblogs.microsoft.com/cppblog/introducing-the-unive...
I found this internal file that forms the basis of all the atoi and strol family functions. Seems like they do get some nice wins from the C++ language, without needing (e.g.) STL: https://github.com/llvm/llvm-project/blob/main/libc/src/__su...