В C ++, что означает Ptr <> a? - PullRequest
0 голосов
/ 17 ноября 2018

Я на самом деле анализирую некоторую треску, и я нашел это

 Ptr<UniformRandomVariable> m_yMinVar;

У меня есть некоторый опыт работы с c, но нет c ++, я понимаю, что строка объявляет вызов указателя m_yMinVar, и это "тип" <UniformRandomVariable>где "UniformRandomVariable" должен быть классом в другом файле cpp, но я действительно не знаю,

я хотел бы точно знать, что такое Ptr, потому что мой текстовый редактор также преобразовывает его в переменный тип

"<> "Я не уверен, что это

и, наконец, если кто-то может поделиться со мной ссылкой, где я могу видеть операторы и различные виды объявления переменных и типов кодирования, таких как" i ++ = i + = i = i + 1"

прощаюсь со всеми и благодарю всех

1 Ответ

0 голосов
/ 17 ноября 2018

Ptr<UniformRandomVariable> является экземпляром шаблона класса. Экземпляры шаблонов классов являются классами. Классы являются определяемыми пользователем типами. Ptr<UniformRandomVariable> m_yMinVar; в целом является объявлением переменной типа Ptr<UniformRandomVariable>.

Ptr - это название шаблона. Учитывая имя, было бы довольно безопасно предположить, что это своего рода обертка вокруг указателя. Если первый аргумент шаблона Ptr является аргументом типа, то UniformRandomVariable является именем некоторого типа. Это может быть класс или typedef. Если первый аргумент шаблона Ptr является аргументом не-типа, тогда UniformRandomVariable является некоторым постоянным значением.

Ptr должен быть определен в одной и той же единице перевода (до создания экземпляра). UniformRandomVariable должен быть по крайней мере объявлен в той же единице перевода, где он используется в экземпляре, и в зависимости от определения шаблона Ptr может потребоваться также определение UniformRandomVariable.

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