User:Ehsan/Safe C++: Difference between revisions

Line 144: Line 144:
The safety properties that we desire are inherently incompatible with two main classes of C++ features:
The safety properties that we desire are inherently incompatible with two main classes of C++ features:
* Unchecked references to objects.  These are C++ pointers and references to objects (not primitive types).  Since the language doesn't offer a way to tag them with ownership information, the usage of them in Safe C++ is completely prohibited.
* Unchecked references to objects.  These are C++ pointers and references to objects (not primitive types).  Since the language doesn't offer a way to tag them with ownership information, the usage of them in Safe C++ is completely prohibited.
* Raw arrays of objects, again, since the language doesn't offer a way to tag them with ownership information.
* Direct control over lifetimes.  For obvious reasons, giving the programmer direct control over lifetimes goes against the goals of Safe C++.  C++ keywords new, new[], delete and delete[] are completely prohibited in Safe C++ code.
* Direct control over lifetimes.  For obvious reasons, giving the programmer direct control over lifetimes goes against the goals of Safe C++.  C++ keywords new, new[], delete and delete[] are completely prohibited in Safe C++ code.


Confirmed users
657

edits