Синтаксис C ++ с Nan :: Utf8String - PullRequest
0 голосов
/ 25 апреля 2018

Я работаю над задачей исправить запись аддона node.js в C ++, я не знаю C ++, но могу понять общий контекст. Чтение кода, приведенного ниже, не имеет смысла для меня:

Nan::Utf8String clientIP(clientIPV8.ToLocalChecked());
params["clientIP"] = *clientIP;

Что значит clientIP? Что значит * clientIP?

Я нигде не объявлял эту "функцию". Код имеет более одного вхождения, равен этому, но имя «функции» изменяется. Например:

Nan::Utf8String clientPort(clientPortV8.ToLocalChecked());
params["clientPort"] = *clientPort;
  • Я не знаю, является ли это функцией.

Спасибо

1 Ответ

0 голосов
/ 25 апреля 2018

clientIP - это переменная типа Nan::Utf8String, инициализированная для clientIPV8.ToLocalChecked()

*, используется для разыменования переменной указателя, т. Е. Переменной, содержащей значение адреса памяти, поэтому она должнавернуть любое значение, на которое указывает clientIP.Но это также может быть перегружен operator*.Все операторы могут быть перегружены в C ++, как и любая другая функция, и, как упоминалось в комментариях, в этом случае она перегружается, чтобы вернуть символ *, заключенный в Nan::Utf8String.

...