青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
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 楚天清秋
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
欧美一级片在线播放
|
韩国成人理伦片免费播放
|
亚洲精品综合
|
亚洲国产合集
|
免费中文字幕日韩欧美
|
亚洲区免费影片
|
99v久久综合狠狠综合久久
|
欧美日韩国产综合视频在线
|
中文高清一区
|
欧美一区国产一区
|
亚洲国产日日夜夜
|
国产精品99久久久久久久久久久久
|
欧美深夜福利
|
久久久久久久久久久久久9999
|
久久精品日韩欧美
|
亚洲精品国久久99热
|
亚洲最新视频在线
|
韩日视频一区
|
日韩午夜剧场
|
韩国女主播一区二区三区
|
欧美黄色一级视频
|
国产精品久久久91
|
久久亚洲私人国产精品va
|
欧美刺激午夜性久久久久久久
|
亚洲欧美日韩区
|
六月婷婷久久
|
欧美一区二区三区精品
|
久久婷婷影院
|
亚洲欧美在线x视频
|
久久久久国色av免费看影院
|
这里只有精品丝袜
|
久久久在线视频
|
亚洲午夜性刺激影院
|
久久久久久一区
|
午夜日韩电影
|
欧美黄色日本
|
女生裸体视频一区二区三区
|
国产精品久久久久久久久久免费看
|
亚洲精品一级
|
欧美一区二区三区在线免费观看
|
亚洲精品资源美女情侣酒店
|
久久国产天堂福利天堂
|
久久久久欧美精品
|
久久精品国产91精品亚洲
|
9人人澡人人爽人人精品
|
久久国产精品久久w女人spa
|
一区二区三区精品在线
|
麻豆亚洲精品
|
久久免费黄色
|
国产伦理一区
|
一区二区三区日韩
|
一区二区三区欧美成人
|
亚洲免费在线播放
|
久久成人精品
|
久久国产精品久久久久久久久久
|
欧美激情一区二区
|
亚洲承认在线
|
亚洲国产精品一区二区尤物区
|
午夜伦欧美伦电影理论片
|
亚洲视频在线观看网站
|
欧美日韩精品欧美日韩精品一
|
亚洲国产精品成人综合
|
亚洲国产欧美一区
|
免费在线亚洲
|
亚洲欧洲久久
|
中日韩午夜理伦电影免费
|
欧美日韩精品免费观看视一区二区
|
欧美激情日韩
|
亚洲精品自在久久
|
欧美日韩午夜剧场
|
国产精品99久久久久久www
|
亚洲尤物影院
|
国产精品一级久久久
|
香蕉成人久久
|
久久精品一本久久99精品
|
国产午夜精品久久
|
久久精品国产免费观看
|
麻豆成人精品
|
亚洲精品一区在线
|
欧美色欧美亚洲另类二区
|
亚洲私人黄色宅男
|
久久久91精品国产一区二区精品
|
国产一区在线视频
|
美女脱光内衣内裤视频久久网站
|
欧美激情欧美激情在线五月
|
一区二区三区欧美激情
|
国产精品美女久久久久久久
|
欧美成人免费全部
|
日韩视频在线一区二区
|
欧美婷婷久久
|
久久精品一区
|
亚洲人线精品午夜
|
午夜在线视频观看日韩17c
|
国产揄拍国内精品对白
|
欧美成人a视频
|
亚洲午夜电影在线观看
|
久久综合九色欧美综合狠狠
|
亚洲美女尤物影院
|
国产欧美日本
|
欧美高潮视频
|
性色av香蕉一区二区
|
亚洲电影视频在线
|
香蕉成人伊视频在线观看
|
亚洲电影免费在线
|
国产精品日韩
|
欧美黄色免费网站
|
久久精品国产99国产精品
|
亚洲欧洲一区二区三区在线观看
|
久久综合狠狠综合久久综合88
|
亚洲剧情一区二区
|
国产美女扒开尿口久久久
|
欧美激情一二区
|
久久久久久黄
|
亚洲欧美资源在线
|
亚洲精品三级
|
欧美成人午夜77777
|
欧美一区二视频
|
一区二区三区四区五区精品视频
|
久久久精品久久久久
|
狠狠色狠狠色综合人人
|
欧美日韩在线视频首页
|
久久一日本道色综合久久
|
亚洲欧美999
|
亚洲老司机av
|
亚洲第一区中文99精品
|
久热精品视频在线观看
|
欧美影片第一页
|
亚洲综合好骚
|
亚洲午夜精品国产
|
亚洲看片网站
|
亚洲精品视频啊美女在线直播
|
韩国免费一区
|
激情欧美国产欧美
|
国产免费成人av
|
国产精品久久久久毛片软件
|
欧美日韩三级电影在线
|
欧美激情一二区
|
欧美人妖另类
|
欧美日韩三区四区
|
欧美日韩国产综合在线
|
欧美精品在线一区
|
欧美日韩高清区
|
欧美日韩国产一级
|
欧美日韩国产综合在线
|
欧美日韩亚洲一区二区
|
欧美色图一区二区三区
|
欧美系列精品
|
国产精品久久久久一区
|
国产日本欧美在线观看
|
国产亚洲欧美日韩一区二区
|
国产香蕉97碰碰久久人人
|
国产视频亚洲精品
|
激情成人中文字幕
|
亚洲福利视频一区二区
|
亚洲黄色性网站
|
日韩视频在线一区二区
|
亚洲一区二区三区四区中文
|
亚洲免费视频在线观看
|
欧美在线视频a
|
久久香蕉国产线看观看av
|
欧美成人精品
|
亚洲精品一区二区三区av
|
国产精品99久久久久久有的能看
|
亚洲欧美日韩天堂
|
久久久之久亚州精品露出
|
欧美激情精品久久久久
|
国产精品分类
|
国产一区二区精品久久
|
亚洲国产裸拍裸体视频在线观看乱了中文
|
亚洲一区自拍
|
久久国产天堂福利天堂
|
欧美国产日韩在线
|
国产精品扒开腿做爽爽爽视频
|
国产一区二区视频在线观看
|
91久久久一线二线三线品牌
|
一本久久综合亚洲鲁鲁五月天
|
午夜精品福利一区二区蜜股av
|
久久精品夜色噜噜亚洲a∨
|
99国产精品99久久久久久
|
亚洲欧美bt
|
欧美国产精品va在线观看
|
国产精品美女久久久久久免费
|
在线看不卡av
|
欧美一区免费视频
|
欧美激情国产日韩
|
欧美一二区视频
|
欧美日韩国产片
|
韩日精品视频一区
|
午夜精品av
|
亚洲黄一区二区三区
|
欧美在线看片
|
欧美午夜视频
|
亚洲人成在线观看一区二区
|
欧美一区二区网站
|
日韩午夜在线
|
老司机久久99久久精品播放免费
|
亚洲国产精品久久91精品
|
亚洲宅男天堂在线观看无病毒
|
欧美va天堂
|
午夜欧美精品
|