为什么UuidFromString函数请求指向无符号字符的非常数指针

Why UuidFromString function requests non-const pointer to unsigned char?

本文关键字:字符 非常 指针 无符号 UuidFromString 函数 请求 为什么      更新时间:2023-10-16

我不知道为什么UuidFromString函数需要指向无符号字符的非常量指针。为什么不改为const char*

我认为没有必要对第一个论点所指的数据进行修改。

UuidFromString是为COM/DCOM设计的。

unsigned char是为了避免检查char的负值(默认的charsigned,意味着取值范围为[-128127]——因为这个字符串应该是ANSI字符,这是避免< 0条件检查的一种廉价方法)。

它的姊妹函数(UuidToString)确实采用了const输入参数。我在文件中看不出UuidFromString为什么不那么好的原因,但这可能是一个从未被解决的疏忽。