b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

colevariant_colevariant 哪个类_colevariant用法(11)

电脑杂谈  发布时间:2017-01-21 04:03:09  来源:网络整理

B* pb = dynamic_cast<B*>(pd); // ok: B is an indirect base class

// pb points to B subobject of pd

...

}

我已经知道 static_cast 和 dynamic_cast 的作用,但MSDN中并没有提到这两个操作符与直接类型转换如

void f(D* pd)

{

C* pc = (C*)(pd);

B* pb = (B*)(pd);

...

}

的不同啊。不知道那位知道的告诉一声,在此不胜感谢,50分奉上。

static_cast、dynamic_cast 代 替 简 单 的 强 制 转 化, 从 而 消 除 多 继 承 带 来 的 歧 义。 使 用 这 两 个 运 算 符 号, 我 们可以 在 对 象 运 行 过 程 中 获 取 对 象 的 类 型 信 息

dynamic_cast 用于多态类型的转换

static_cast 用于非多态类型的转换

static_cast<...>compile时能发现不正确的指针类型转换

dynamic_cast<...>运行时如果发现是不正确的指针类型转换会返回NULL

(void*)强制转换,如果是不正确的指针类型转换,没有办法检查,不如上面2中安全

类型安全

com技术介绍过

我刚看完就忘了

14。byte数据类型转换成int型??

我用byte型读进一组数据想把他转成int型进行运算如何做呢?

如果再把int型转回byte又怎么实现呢?

用下面这些宏:

WORD MAKEWORD(

BYTE bLow,

BYTE bHigh

);

BYTE LOBYTE(

WORD wValue

);

BYTE HIBYTE(

WORD wValue

);

int i;

BYTE b;

b=128;

i=(int)b;

这个宏怎么用呀?有没有简单一点儿的,我现在能把BYTE 转成INT 型了,再转回去直接赋值可以吗?

WORD wa;

BYTE ba=32,bb=64;

wa=MAKEWORD(ba,bb);

...

WORD wa=1234;

BYTE ba,bb;

ba=LOBYTE(wa);

bb=LOBYTE(wa);

问题解决了,多谢各位

15。类型转换的问题,unsigned int --> lptstr/lpctstr??

发表时间:2001-8-7 23:49:41

如果强制转换的话,会出现致命错误,有什么好的办法呢?

能列举一些其他的办法吗?

谢谢大虾!

你为什么要强行转换呢?

如果你是要把int 的值作为 lptstr/lpctstr 的内容的话,

可以用CString:

unsigned int a = 100;

LPCTSTR lpText;

CString str;

str.Format("%d",a);

lpText = (LPCTSTR)str;

wsprintf(str,"%u",ui);

这种情况不需要进行强制转换,直接使用wsprintf就可以了。

unsigned int m_na=22;

LPTSTR lptstr;

wsprintf(lptstr,"%u",m_na);

16。关于COM类型转换问题??

我定义了两个变量,一个是void *piaRef=new unsigned char[1000];另一个是m_Temp=new CComVariant();我的问题是如何将piaRef中的值

COPY到m_Temp中。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27731-11.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...