I think this is not right -- since references aren&#x27;t reseatable, this would effectively make the data structure (but not necessarily its contents) immutable.<p>Shared pointers or raw pointers are the options that make most sense, in my opinion.<p>Edit: forgot to say, if you use shared_ptr beware circular references. e.g. in the case of a doubly linked list. weak_ptr could be used to break the cycle, but I&#x27;d probably use raw pointers here.