by jasonthorsness on 3/10/25, 3:17 PM
Both C# and Rust at least have the "unsafe" keyword that let you use raw pointers and such within a defined region. This approach allows you to easily minimize identify the areas of a program that need more scrutiny and prevents some random helper function written carelessly from tromping over some unrelated area. I don't know how C++ as a language can ever get some kind of similar protection (article mentions TrapC, FilC, Mini-C, and Safe C++, need to check them out...) but if it can it's hard to beat the expressiveness of C++ for any possible thing you might want to do.