list is one of the many classes provided by the Standard Library.
It behaves like any other class type:
int : integer
int* : pointer to integer
Observer : Observer instance
Observer* : pointer to Observer instance
list<Observer> : list of Observers
list<Observer*>* : pointer to list of pointers to Observers
solved Difference between list