c++ - 为什么 UuidFromString 函数请求非常量指针指向 unsigned char?

标签 c++ winapi constants

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

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

最佳答案

UuidFromString专为 COM/DCOM 而设计。

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

它的姊妹函数 ( UuidToString ) 确实需要一个 const输入参数。我在文档中看不到关于为什么 UuidFromString 的原因不太一样,但这可能是一个从未解决过的疏忽。

关于c++ - 为什么 UuidFromString 函数请求非常量指针指向 unsigned char?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34560349/

相关文章:

c++ - opengl中的对象加载器

c++ - STL vector 添加序列

c++ - 从 glwidget 更新 Qt4 状态栏

c - 为工具提示使用固定宽度的字体

c++ - Windows SetThreadAffinityMask 无效

c++ - 第二个线程中的 wglMakeCurrent 失败了吗?

string - 即使字符串只使用过一次,我是否应该使用常量而不是字符串?

c++ - boost::multi_array 上的段错误

c - const关键字的使用

Java - 这是好的编程习惯吗?