青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
wifecooky
學(xué)一點(diǎn),記一點(diǎn)
C++博客
首頁(yè)
新隨筆
聯(lián)系
聚合
管理
隨筆-22 評(píng)論-7 文章-0 trackbacks-0
關(guān)于運(yùn)行時(shí)類型識(shí)別typeid
在程序中,當(dāng)我們對(duì)多態(tài)類的基類指針使用typeid,就可以在運(yùn)行時(shí)確定指針指向?qū)ο蟮膶?shí)際類型,并輸出對(duì)象類型的名字。
#include
<
cstdlib
>
#include
<
iostream
>
#include
<
typeinfo
>
using
namespace
std;
class
B
{
public
:
virtual
void
fun()
{}
}
;
class
D:
public
B
{
public
:
void
fun()
{}
}
;
int
main()
{
B
*
p;
D ob;
p
=&
ob;
cout
<<
"
typeid(*p).name()=
"
<<
typeid(
*
p).name()
<<
endl;
if
(typeid(
*
p)
==
typeid(D))
cout
<<
"
typeid(*p)==typeid(D)
"
<<
endl;
cout
<<
"
typeid(p).name()=
"
<<
typeid(p).name()
<<
endl;
if
(typeid(p)
==
typeid(B
*
))
cout
<<
"
typeid(p)==typeid(B*)
"
<<
endl;
system(
"
pause
"
);
return
0
;
}
這段code在VC++6.0中編譯時(shí),提示如下
warning C4541: 'typeid' used on polymorphic type 'class B' with /GR-; unpredictable behavior may result
編譯后運(yùn)行時(shí)錯(cuò)誤。不知是不是此版本的VC++不符合C++標(biāo)準(zhǔn)?
在Devcpp(g++)中編譯運(yùn)行得到的結(jié)果是
typeid(*p).name()=1D
typeid(*p)==typeid(D)
typeid(p).name()=P1B
typeid(p)==typeid(B*)
說(shuō)明用typeid作用于*p得到的的確是D類型,而用typeid作用于p得到的依然是B類的指針類型
如果typeid被作用于非多態(tài)類指針,那么我們得到的是指針被聲明的類型,也就是說(shuō),此時(shí)typeid并不會(huì)返回指針?biāo)赶驅(qū)ο蟮膶?shí)際類型。
如果將class B中的virtual去掉,在編譯運(yùn)行得到的結(jié)果是
typeid(*p).name()=1B
typeid(p).name()=P1B
typeid(p)==typeid(B*)
由此可見(jiàn),在任何時(shí)刻都可以用基類指針指向派生類對(duì)象,而用typeid(*p)確定p指向的對(duì)象時(shí),只當(dāng)基類為多態(tài)類時(shí)才能真正確定p在運(yùn)行時(shí)指向的實(shí)際類型。
VC默認(rèn)不啟動(dòng)RTTI,即“運(yùn)行時(shí)期類型識(shí)別”,如果在你的程序用到了RTTI,比如typeid,你必須明確告訴編譯器啟動(dòng)RTTI,這樣VC才能正確編譯
選擇菜單Project->settings->c/c++->category->c++ language,將Enable Run-Time Type Infomation(RTTI)選中
posted on 2010-11-08 09:23
楚天清秋
閱讀(727)
評(píng)論(0)
編輯
收藏
引用
所屬分類:
C,C++
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
關(guān)于運(yùn)行時(shí)類型識(shí)別typeid
cout重定向到文件 (轉(zhuǎn))
判斷兩個(gè)數(shù)組中是否存在相同的數(shù)字
浮點(diǎn)數(shù)在計(jì)算機(jī)中存儲(chǔ)方式
關(guān)于sizeof(類)的大小
c++虛函數(shù)表探究
什么是智能指針(Solmyr 的小品文系列之五:垃圾收集)
template必須定義于頭文件中[轉(zhuǎn)]
如何判斷文件是否存在?
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
<
2025年9月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類
C,C++(9)
C++ Builder(2)
Java
Open Source(1)
VC++(2)
電腦故障(1)
生活拾趣(2)
算法(2)
重拾英語(yǔ)(1)
隨筆檔案
2010年11月 (1)
2010年9月 (2)
2010年8月 (1)
2010年7月 (4)
2010年6月 (7)
2010年5月 (3)
2010年4月 (4)
搜索
最新評(píng)論
1.?re: BCB的RadioGroup控件的ItemIndex屬性BUG!
用showmod.. 顯示模式對(duì)話框看看。
要是還不行,就用hide,不用close。
似乎也見(jiàn)過(guò)。
--人渣
2.?re: 關(guān)于sizeof(類)的大小
還是沒(méi)明白。。。。
--楚天清秋
3.?re: 關(guān)于sizeof(類)的大小
@heart168
同上
--Sunshine Alike
4.?re: 關(guān)于sizeof(類)的大小
@楚天清秋
sorry sorry, 當(dāng)時(shí)沒(méi)細(xì)想就寫(xiě)了.
這個(gè)應(yīng)該是內(nèi)存對(duì)齊的原因吧,虛指針是只有一個(gè),4字節(jié).
情況2可能是因?yàn)槎嗉?jí)繼承會(huì)有額外字節(jié)記錄this指針的偏移吧.
--Sunshine Alike
5.?re: 關(guān)于sizeof(類)的大小
能否解釋一下哪兩個(gè)虛指針呢?
--heart168
閱讀排行榜
1.?帶非法字符的文件夾和文件的刪除方法!(轉(zhuǎn))(3598)
2.?cout重定向到文件 (轉(zhuǎn))(1823)
3.?BCB的RadioGroup控件的ItemIndex屬性BUG!(1745)
4.?判斷兩個(gè)數(shù)組中是否存在相同的數(shù)字(963)
5.?蘋(píng)果引發(fā)的故事^_^(蘋(píng)果習(xí)語(yǔ)的由來(lái))(875)
評(píng)論排行榜
1.?關(guān)于sizeof(類)的大小(6)
2.?BCB的RadioGroup控件的ItemIndex屬性BUG!(1)
3.?常見(jiàn)開(kāi)源協(xié)議(轉(zhuǎn)) (0)
4.?求24點(diǎn) (0)
5.?關(guān)于運(yùn)行時(shí)類型識(shí)別typeid (0)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 楚天清秋
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
欧美日韩国产欧
|
欧美伊久线香蕉线新在线
|
一区二区三区视频在线播放
|
一区电影在线观看
|
国产日本欧洲亚洲
|
欧美精彩视频一区二区三区
|
亚洲一区亚洲二区
|
国产精品美女诱惑
|
久久人人看视频
|
亚洲精品护士
|
亚洲成人在线视频播放
|
香蕉乱码成人久久天堂爱免费
|
亚洲人成网在线播放
|
99这里只有精品
|
亚洲黄色免费
|
欧美网站在线
|
亚洲午夜在线观看视频在线
|
久久激情五月丁香伊人
|
欧美婷婷久久
|
欧美一区在线看
|
国产精品一区二区在线观看
|
亚洲人成啪啪网站
|
黄色国产精品
|
狠狠做深爱婷婷久久综合一区
|
国产欧美日韩一区
|
国产日韩精品一区二区三区在线
|
国产精品黄色
|
国产亚洲综合精品
|
一区在线视频观看
|
亚洲精品乱码久久久久久
|
日韩午夜在线视频
|
国产精品成人国产乱一区
|
国产精品国产亚洲精品看不卡15
|
久久亚洲免费
|
欧美福利网址
|
黄色av成人
|
久久aⅴ乱码一区二区三区
|
久久久精品午夜少妇
|
欧美精品一区二区三区蜜臀
|
国产精品久久久久久av福利软件
|
亚洲精品国产精品国自产观看
|
亚洲国产精品123
|
亚洲尤物在线
|
裸体女人亚洲精品一区
|
亚洲国产mv
|
新67194成人永久网站
|
男人的天堂亚洲
|
午夜精品电影
|
欧美精品色综合
|
国产亚洲欧美一区二区
|
亚洲人成艺术
|
欧美一区二区高清
|
91久久一区二区
|
亚洲综合视频1区
|
国产一区二区三区久久
|
麻豆freexxxx性91精品
|
欧美va天堂在线
|
日韩视频在线免费观看
|
在线观看国产一区二区
|
国产精品国色综合久久
|
国产精品jizz在线观看美国
|
久久亚洲精品一区二区
|
久久激情久久
|
久久久www
|
男人的天堂成人在线
|
欧美日本亚洲视频
|
欧美日韩成人在线观看
|
欧美另类变人与禽xxxxx
|
一区二区三区欧美激情
|
中国成人在线视频
|
久久精品国产欧美激情
|
免费的成人av
|
国内精品久久久久影院优
|
影音先锋亚洲视频
|
亚洲久久一区
|
久久久久久伊人
|
能在线观看的日韩av
|
亚洲电影免费观看高清完整版在线观看
|
国产农村妇女毛片精品久久莱园子
|
欧美一区二区黄
|
欧美精品电影
|
美女视频黄免费的久久
|
欧美日韩视频
|
欧美一区在线直播
|
欧美日韩亚洲国产一区
|
黄色亚洲网站
|
欧美在线精品一区
|
亚洲一区成人
|
欧美日韩综合久久
|
亚洲直播在线一区
|
一区二区三区精密机械公司
|
99在线|亚洲一区二区
|
欧美在线高清
|
黄色欧美日韩
|
欧美激情精品久久久久久大尺度
|
午夜精品福利一区二区蜜股av
|
欧美aa国产视频
|
免费h精品视频在线播放
|
噜噜爱69成人精品
|
99视频精品全国免费
|
国产欧美日韩在线
|
久久久之久亚州精品露出
|
欧美日韩精品一本二本三本
|
久久久www成人免费无遮挡大片
|
91久久精品国产
|
欧美视频第二页
|
午夜精品久久久
|
欧美区亚洲区
|
卡通动漫国产精品
|
亚洲综合99
|
欧美日韩一区二区三区在线视频
|
亚洲校园激情
|
在线日韩电影
|
亚洲作爱视频
|
国产亚洲欧美一区二区
|
欧美亚洲不卡
|
亚洲欧美日韩爽爽影院
|
一本久道久久综合狠狠爱
|
亚洲一区二区三区精品动漫
|
噜噜噜91成人网
|
中国成人黄色视屏
|
亚洲国产精品久久久久秋霞不卡
|
欧美精品日韩一区
|
蜜桃伊人久久
|
久久精品视频免费
|
久久综合九色欧美综合狠狠
|
国产欧美精品xxxx另类
|
亚洲精品网址在线观看
|
欧美激情小视频
|
蜜桃av一区二区三区
|
99国内精品
|
国产视频在线观看一区
|
欧美一区二区视频在线观看2020
|
亚洲一区二区在线看
|
久久福利毛片
|
娇妻被交换粗又大又硬视频欧美
|
一区在线观看
|
欧美日韩成人一区二区
|
欧美成人一区二区三区片免费
|
午夜天堂精品久久久久
|
亚洲国产二区
|
欧美 亚欧 日韩视频在线
|
亚洲国产精品久久久久婷婷884
|
亚洲欧美日韩在线
|
久久综合狠狠
|
麻豆av福利av久久av
|
国产精品丝袜白浆摸在线
|
国产美女诱惑一区二区
|
亚洲欧美变态国产另类
|
亚洲视频第一页
|
欧美专区第一页
|
亚洲国产欧美一区
|
欧美一区在线看
|
黑人操亚洲美女惩罚
|
亚洲成色999久久网站
|
免费一级欧美片在线观看
|
久久精品91久久久久久再现
|
午夜精品一区二区三区在线
|
欧美激情一区二区三区在线视频观看
|
欧美福利一区二区
|
国模套图日韩精品一区二区
|
久久久免费精品视频
|
久久久久欧美
|
亚洲天堂av图片
|
国产欧美日韩一区二区三区在线观看
|
亚洲欧美国产毛片在线
|
99视频有精品
|
亚洲韩国一区二区三区
|
欧美成人免费大片
|
国产精品毛片a∨一区二区三区|国
|
一本久久综合亚洲鲁鲁
|
亚洲欧美日韩国产精品
|
久久国产色av
|
亚洲一级片在线看
|
韩国成人精品a∨在线观看
|
国产精品成人播放
|
毛片精品免费在线观看
|
久久久精品动漫
|
久久女同精品一区二区
|
国产亚洲日本欧美韩国
|
欧美一级黄色录像
|
久久久中精品2020中文
|
亚洲一区二区不卡免费
|
久久男人av资源网站
|
亚洲视频在线二区
|
久久综合九色99
|
亚洲国产视频一区
|
欧美一区影院
|
国产欧美高清
|
亚洲国产精品久久久久婷婷884
|
亚洲精品日韩欧美
|
亚洲一区二区免费在线
|
久久久久久久综合色一本
|
久久久五月婷婷
|
久久精品道一区二区三区
|
亚洲精品美女91
|
亚洲欧美日本国产有色
|
国产精品日产欧美久久久久
|
亚洲一区二区三区中文字幕在线
|
午夜视频在线观看一区二区三区
|