31.10.2011, 20:05. Просмотров 443. Ответов 1
фрагмент файла unique_ptr.h:
C++ |
1
2
3
4
5
6
7
| template <typename _Tp, typename _Tp_Deleter = default_delete<_Tp> >
class unique_ptr
{
typedef std::tuple<_Tp*, _Tp_Deleter> __tuple_type;
typedef __tuple_type unique_ptr::* __unspecified_bool_type;
typedef _Tp* unique_ptr::* __unspecified_pointer_type;
.... |
|
Вот со строчкой
C++ |
1
| typedef std::tuple<_Tp*, _Tp_Deleter> __tuple_type; |
|
все понятно, __tuple_type, значит, будет отныне синонимом для шаблонного класса std::tuple<_Tp*, _Tp_Deleter>, который уже где-то в стандартных хедерах был определен. А вот что означают две следующие строки
C++ |
1
2
| typedef __tuple_type unique_ptr::* __unspecified_bool_type;
typedef _Tp* unique_ptr::* __unspecified_pointer_type; |
|
я что-то понять не могу, что за тип такой __tuple_type unique_ptr::* или _Tp* unique_ptr::* ?
Подскажите, знающие люди.