Я знаю, что (например) DWORD
, это четырехбайтовое длинное целое число без знака.
Но что означает DWORD *
со звездочкой перед именем параметра, как показано здесь:
HRESULT UrlUnescape(
__inout PTSTR pszURL,
__out_opt PTSTR pszUnescaped,
__inout_opt DWORD *pcchUnescaped,
DWORD dwFlags
);
ОБНОВЛЕНИЕ
Мне пришло в голову несколько дополнительных подсказок, что это указатель.Во-первых, имя параметра начинается с p .Другая причина в том, что это параметр in / out, и вызываемый объект может изменить значение переменной вызывающей стороны только в том случае, если передан указатель, а не значение.Конечно, строки также являются указателями, и они не используют звездочку, но это потому, что строка не может быть передана по значению, поэтому она будет избыточной, в то время как целое число, безусловно, может быть переданозначение (и часто / обычно это).