Can someone explain what the at-most-once invariant and Existence, Ownership, and Conservation rules are?
<p>At-most-once: A pointer to any specific object can exist in at most one container object at any point in time.</p>

<p>Existence: An object must be dynamically allocated before a pointer to it is inserted.</p>

<p>Ownership: Once a pointer to an object is inserted, that objects becomes property of the container. No one else may use or modify it in any way.</p>

<p>Conservation: When a pointer is removed from a container, either the pointer must be inserted into some container, or its referent must be deleted.</p>

<p>These are the respective definitions I've been given.  I'm having trouble understanding the various terminology used in each of them, and I was hoping someone here could explain exactly what each one means and how they're used to ensure good programming practice.</p>
