c語言typeof函數(shù)名 c++typeof用法

C#中Typeof是干什么的?

MSDN上typeof的說明:“用于獲取類型的?System.Type?對象。”

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比沂水網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式沂水網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋沂水地區(qū)。費用合理售后完善,十年實體公司更值得信賴。

typeof是操作符(一些書叫運算符),這點很重要。在C#中所有的操作符最后都變?yōu)楹瘮?shù)了。這也就不奇怪為什么一個看似函數(shù)的東西卻被稱為操作符的原因了。

注意返回的是Type對象,內(nèi)含有許多信息。如類型的信息。方法有哪些,屬性有哪些,字段有哪些。如果用其它的技術(shù),如反射、序列化什么的,配合使用的話會更方便。

擴展資料

typeof(x)中的x,必須是具體的類名、類型名稱等,不可以是變量名稱。

GetType()方法繼承于Object(C#中所有類的基類都是object類?;愂窍鄬τ谂缮惗缘模确秸f:如果B類繼承自A類,則A就是B的基類。),所以C#中任何對象都具有GetType()方法,它的作用和typeof()相同,返回Type類型的當(dāng)前對象的類型。

舉例說明:

有這樣一個變量i: Int32 i = new Int32();

i.GetType()返回值是Int32的類型,但是無法使用typeof(i),因為i是一個變量。如果要使用typeof(),則只能:typeof(Int32),返回的同樣是Int32的類型。

Typeof()是運算符,用于獲取類型的?System.Type?對象。而GetType是方法,獲取當(dāng)前實例的類型;Typeof()的參數(shù)只能是int,string,String,自定義類型,且不能是實例;

c語言中container_of, typeof, offsetof這些是哪個標(biāo)準(zhǔn)的?

1. container_of是Linux內(nèi)核中實現(xiàn)的宏,不是C語言的標(biāo)準(zhǔn)函數(shù)。不能跨平臺。

#define container_of(ptr, type, member) ({ \

const typeof( ((type *)0)-member ) *__mptr = (ptr); \

(type *)( (char *)__mptr - offsetof(type,member) );})

2. typeof是GNU C的擴展,不是ISO標(biāo)準(zhǔn)中的函數(shù)。用gcc編譯可以跨平臺。

3. offsetof是C語言標(biāo)準(zhǔn)庫中的宏,定義在頭文件stddef.h中??梢钥缙脚_。

typeof用法

typeof是一個運算符,有2種使用方式:typeof(表達(dá)式)和typeof 變量名,第一種是對表達(dá)式做運算,第二種是對變量做運算。 擴展資料

typeof的.返回值

typeof運算符的返回類型為字符串,值包括如下幾種:

1. 'undefined'? ? --未定義的變量或值

2. 'boolean'? ? -布爾類型的變量或值

3. 'string'? ?--字符串類型的變量或值

4. 'number'? ? --數(shù)字類型的變量或值

5. 'object'? ? --對象類型的變量或值,或者null(這個是js歷史遺留問題,將null作為object類型處理)

6. 'function'? ? --函數(shù)類型的變量或值

測試數(shù)據(jù)類型函數(shù)typeof( )的用法

typeof關(guān)鍵字是C語言中的一個新擴展。只要可以接受typedef名稱,Sun Studio C 編譯器就可以接受帶有typeof的結(jié)構(gòu),包括以下語法類別: 聲明 函數(shù)聲明符中的參數(shù)類型鏈表和返回類型 類型定義 類型操作符s sizeof操作符 復(fù)合文字 typeof實參 編譯器接受帶雙下劃線的關(guān)鍵字:__typeof和__typeof__。本文中的例子并沒有遵循使用雙下劃線的慣例。從語句構(gòu)成上看,typeof關(guān)鍵字后帶圓括號,其中包含類型或表達(dá)式的名稱。這類似于sizeof關(guān)鍵字接受的操作數(shù)(與sizeof不同的是,位字段允許作為typeof實參,并被解釋為相應(yīng)的整數(shù)類型)。從語義上看,typeof 關(guān)鍵字將用做類型名(typedef名稱)并指定類型。 使用typeof的聲明示例 下面是兩個等效聲明,用于聲明int類型的變量a。 typeof(int) a; /* Specifies variable a which is of the type int */ typeof('b') a; /* The same. typeof argument is an expression consisting of character constant which has the type int */以下示例用于聲明指針和數(shù)組。為了進行對比,還給出了不帶typeof的等效聲明。 typeof(int *) p1, p2; /* Declares two int pointers p1, p2 */int *p1, *p2;typeof(int) * p3, p4;/* Declares int pointer p3 and int p4 */int * p3, p4;typeof(int [10]) a1, a2;/* Declares two arrays of integers */int a1[10], a2[10];如果將typeof用于表達(dá)式,則該表達(dá)式不會執(zhí)行。只會得到該表達(dá)式的類型。以下示例聲明了int類型的var變量,因為表達(dá)式foo()是int類型的。由于表達(dá)式不會被執(zhí)行,所以不會調(diào)用foo函數(shù)。 extern int foo();typeof(foo()) var;使用typeof的聲明限制 請注意,typeof構(gòu)造中的類型名不能包含存儲類說明符,如extern或static。不過允許包含類型限定符,如const或volatile。例如,下列代碼是無效的,因為它在typeof構(gòu)造中聲明了extern: typeof(extern int) a;下列代碼使用外部鏈接來聲明標(biāo)識符b是有效的,表示一個int類型的對象。下一個聲明也是有效的,它聲明了一個使用const限定符的char類型指針,表示指針p不能被修改。 extern typeof(int) b;typeof(char * const) p = "a";在宏聲明中使用typeof typeof構(gòu)造的主要應(yīng)用是用在宏定義中??梢允褂胻ypeof關(guān)鍵字來引用宏參數(shù)的類型。因此,在沒有將類型名明確指定為宏實參的情況下,構(gòu)造帶有所需類型的對象是可能的。

typeof是什么意思

typedef還是typeof?

typedef用來定義類型別名,c/c++里都有,屬于語言的一個特性,和mfc無關(guān)

比如

typedef int* intptr;

intptr a; // 相當(dāng)于int* a;

typeof,我所知道的是gcc中對c/c++語法的一個擴展,用來靜態(tài)獲取參數(shù)類型

比如

int a = 3;

typeof(a) b = 4; // 相當(dāng)于 int b = 4;

typeof("12345") c = "abcde"; // 相當(dāng)于 const char c[6] = "abcde"

vectortypeof(1.234) a; // 相當(dāng)于 vectordouble a;

不知道你是不是說這個

//////////////ebs.ca

typeid用來在運行時獲取類型信息,常用來down cast,就是你給的代碼

不過這種情況下一般用dynamic_cast

本文標(biāo)題:c語言typeof函數(shù)名 c++typeof用法
URL鏈接:http://muchs.cn/article16/docdsdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、App開發(fā)、企業(yè)建站、動態(tài)網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)站建設(shè)

廣告

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

搜索引擎優(yōu)化