我不知道为什么 UuidFromString函数需要非常量 指向无符号 字符的指针。为什么不用 const char*
代替呢?
我的想法是不需要修改第一个参数所指出的数据。
最佳答案
UuidFromString
专为 COM/DCOM 而设计。
unsigned char
是为了防止需要检查负数 char
值(默认 char
是 signed
,这意味着值的范围是 [-128, 127] - 因为这个字符串应该是 ANSI 字符,这是避免 < 0
条件检查的一种廉价方法)。
它的姊妹函数 ( UuidToString
) 确实需要一个 const
输入参数。我在文档中看不到关于为什么 UuidFromString
的原因不太一样,但这可能是一个从未解决过的疏忽。
关于c++ - 为什么 UuidFromString 函数请求非常量指针指向 unsigned char?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34560349/