成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C++中怎么操作RTTI

本篇文章為大家展示了C++中怎么操作RTTI,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、桓臺ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的桓臺網(wǎng)站制作公司

一、RTTI典型的應(yīng)用需求

1、類型的識別,即能在運(yùn)行時判斷出某對象、表達(dá)式等的類型,能判斷它們是基本類型(int、string),還是對象,以及它們區(qū)別于其它類型的標(biāo)識;

2、對象的繼承關(guān)系的運(yùn)行時判斷;

3、在出錯處理、內(nèi)存診斷等處理時的輸出信息;

4、基于字符型名稱的運(yùn)行時對象訪問、方法調(diào)用;

5、對象的自動保存和讀入;

6、基于ID或名稱的對象自動生成;

7、環(huán)境配置的保存和讀入;

8、程序自動生成;

二、C++實(shí)現(xiàn)RTTI

RTTI最直接的實(shí)現(xiàn)是通過編程語言的語法支持功能,由編譯器自動完成,比如:Delphi等語言就提供了Property關(guān)鍵字。C++語言沒有這些語法支持功能,因?yàn)镃++不是一種RAD語言,可以將VB、Delphi、Java等與之進(jìn)行對比。C++的RTTI是最簡單的,只能獲得類名和相關(guān)的繼承信息;而VB、Delphi、Java等確復(fù)雜得多,甚至于支持屬性名、方法名、事件名等。

標(biāo)準(zhǔn)C++ 提供了typeid() 操作,以得到類型信息,它的參數(shù)可以是一個表達(dá)式,可以是一個對象、指針或者引用,通過這個方法,可以得到一個指向常type_info對象,里面包含了這個表達(dá)式的類型必要的信息。type_info對象提供的功能有如下這些:

1、name(),可以得到一個包含類型信息的字符串,返回如:"int"、"MyClass"等;

2、before(),用來在類型列表中遍歷;

3、==操作,用來判斷類型是否相同;

VC中的MFC提供的RTTI實(shí)現(xiàn)與C++提供的差不多,但是有一些功能上和實(shí)現(xiàn)在的差別,但也只是提供了名稱和比較功能。
不能說,這是C++或VC中的缺陷,這是由C++的定位決定了,如果C++加上了復(fù)雜的RTTI信息,則C++可能就變成了C#或別的什么語言了。是的,C#增加了比較復(fù)雜的RTTI信息,誰讓他的主設(shè)計者就是從Borland公司過去的呢(這也決定了C++在.NET框架中的會被淘汰的命運(yùn),因?yàn)樗?NET中沒有合適的定位,就象VF被淘汰一樣)。

上述內(nèi)容就是C++中怎么操作RTTI,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱:C++中怎么操作RTTI
網(wǎng)頁地址:http://jinyejixie.com/article38/iihjpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站建設(shè)、品牌網(wǎng)站制作、動態(tài)網(wǎng)站、網(wǎng)站收錄、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
南郑县| 康保县| 老河口市| 成武县| 洱源县| 台州市| 准格尔旗| 崇义县| 宜州市| 桐梓县| 灵宝市| 吴桥县| 周口市| 繁峙县| 广东省| 大化| 富宁县| 永州市| 保亭| 湘潭市| 惠水县| 红桥区| 五大连池市| 辽阳市| 和林格尔县| 大渡口区| 留坝县| 南木林县| 介休市| 于田县| 日土县| 潜山县| 卢龙县| 巴青县| 高要市| 二连浩特市| 喀喇沁旗| 定州市| 紫金县| 镶黄旗| 宜章县|