为什么UuidFromString函数请求非const指针指向unsigned char?

时间:2016-01-01 21:43:06

标签: c++ winapi const

我不知道为什么UuidFromString函数会将非常量指针重新加入 unsigned char。为什么不const char*呢?

我的想法是第一个参数指出不需要数据修改。

1 个答案:

答案 0 :(得分:0)

UuidFromString是为COM / DCOM设计的。

unsigned char是为了防止需要检查否定的char值(默认charsigned,这意味着值范围为[-128,127] - 因为这个字符串应该是ANSI字符,所以避免进行< 0条件检查是一种便宜的方法。

其姐妹函数(UuidToString)确实采用const输入参数。我没有在文档中看到为什么UuidFromString不合适的原因,但它可能是一个从未解决过的疏忽。