«Const LPVOID» эквивалентен «void * const»?

И если так, то почему некоторые заголовки Win32 используют его?

Например:

BOOL APIENTRY VerQueryValueA( const LPVOID pBlock,
    LPSTR lpSubBlock,
    LPVOID * lplpBuffer,
    PUINT puLen
    );

Немного сложнее: если API никогда не использует ссылки (или любые другие C ++ - только конструкции), а только указатели и значения, какой смысл иметьconst LPVOID противLPCVOID.

Должен ли я лечить каждое место, которое я вижуconst LPVOID как какое-то место, где реальный смыслLPCVOID? (и, таким образом, можно добавить актерский состав)

Дальнейшее уточнение: кажется, чтоconst LPVOID pBlock была действительно ошибка в этом случае. Windows 2008 SDK заменяет его наLPCVOID вVerQueryValue подпись. Вино сделало это довольно давно.

Ответы на вопрос(3)

Ваш ответ на вопрос