C and C++ induce an exceptional number of security vulnerabilities. My conclusion is that we need to be migrating our industry to memory safe by default languages such as Rust and Swift. C++s smart pointer types do significantly help, but these are not nearly sufficient to stop the flood of vulnerabilities. I highlight a number of modern C++ idioms which produce vulnerabilities. The following code simply returns an uninitialized value: f(int f()() { return * x; } return *; }.”]
Source: https://alexgaynor.net/2019/apr/21/modern-c++-wont-save-us/

