memory management



As I understood from reading the Ada tutorial for C/C++ programmers,
"access" is essentially like C++ smart pointer, except that you don't need
to do anything to dereference it.

How will the following work:

Record A contains "access" to record B;
record B contains "access" to record A.

If I create an instance of one of them with "new", will it be destroyed when
"access" to it goes out of scope?

.