может лучше так
Лучше начиная от pair и далее все нормально назвать.
C++ (Qt)
typedef std::shared_ptr<std::list<unsigned int> > TSharedList;
Не стоит акцентировать внимание на shared, в программе практически все указатели будут shared (ну и некоторые weak), а то что это указатель выделить нужно:
C++ (Qt)
typedef std::list<unsigned int> DataList
typedef std::shared_ptr<DataList> DataListPtr;
typedef std::shared_ptr<DataList> datalist_ptr;