1
3
BSTR具有32位长度 在…之前 字符串。因此,BSTR可以包含嵌入的空值。 _T(“AAPL”)创建一个wchar_T*,其结尾为null,但没有长度前缀。 但在幕后,两者都是wchar_t*,因此调用会编译,不需要转换。你有点幸运,因为可能会发生比在另一边没有绳子更糟糕的事情。封送处理程序可能会查看返回32位的_T(“AAPL”)计数,碰巧得到一个非常长的长度值,这将是糟糕的。:-) 如果将参数定义为_bstr_t,您将获得自动转换,因为这将调用_bstr_t(wchar_t*)构造函数。 |
2
1
因为 BSTR 是一个指向宽字符串的指针,但这并不意味着可以只分配简单的常量wchar*字符串。要使用BSTR,您需要使用一些系统功能 SysAllocString() 用于创建BSTR_bstr_t类封装了所有这些东西 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |