2016-12-01 11 views
-1

Когда я читаю исходный код стандартной библиотеки, я всегда вижу использование «см. Ниже». Например, в исходном коде памяти libcxx: http://llvm.org/svn/llvm-project/libcxx/trunk/include/memory, в определении unique_ptr фрагмент кода с «typedef» см. Ниже указатель "код выглядит следующим образом:Что означает «typedef see below» в стандартном исходном коде библиотеки C++?

typedef see below pointer; 
typedef T element_type; 
typedef D deleter_type; 

// constructors 
constexpr unique_ptr() noexcept; 
explicit unique_ptr(pointer p) noexcept; 
unique_ptr(pointer p, see below d1) noexcept; 
unique_ptr(pointer p, see below d2) noexcept; 
unique_ptr(unique_ptr&& u) noexcept; 
unique_ptr(nullptr_t) noexcept : unique_ptr() { } 
template <class U, class E> 
    unique_ptr(unique_ptr<U, E>&& u) noexcept; 
template <class U> 
    unique_ptr(auto_ptr<U>&& u) noexcept; 
... 

Я хочу знать, что это значит и как это работает? благодаря!

+0

Ну, вы видели, что внизу? – DeiDei

+0

Это недопустимый исходный код. Это часть ** спецификации ** для 'std :: unique_ptr', которая является ** текстом **, а не компилируемым кодом. –

ответ

3

Это часть комментария. В следующий раз просмотрите файл с подсветкой синтаксиса.

0

Если у вас есть какие-то ухищрения, как

#define see const; /*you are allowed to define something to a keyword*/ 
struct below{}; 
typedef see below pointer;/*this will now compile*/ 

typedef see below pointer; не синтаксически правильным. Это часть документации в исходном коде, которую вы цитируете.