Safe C++: Language Extensions for Memory Safety