почему у xocde stl исходная память typedef | условное обозначение? - PullRequest
0 голосов
/ 06 апреля 2019

В каталоге Xcode v1, я думаю, это исходный код STL.Файл памяти содержит эту строку.

Файл исходного кода: https://opensource.apple.com/source/libcpp/libcpp-31/include/memory.auto.html

typedef Alloc::pointer | value_type* pointer;

Я понятия не имею, что такое |символ означает.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2019

Это написано в комментарии, поэтому это не настоящий код C ++, но он описывает, что происходит.allocator_traits<Alloc>::pointer будет typedef d до Alloc::pointer (где Alloc - параметр шаблона), если он существует, в противном случае value_type*.Это свободно читается как «или».

0 голосов
/ 06 апреля 2019

Я понятия не имею, что означает символ |.

В этом контексте ничего важного, поскольку он является частью комментария:

/*
    memory synopsis
    ...
    typedef Alloc::pointer | value_type* pointer;
*/

где автор решил использовать этот символ для документирования своего кода.

Однако обратите внимание, что | действительно означает что-то, когда используется в реальном коде, это оператор Побитовое ИЛИ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...