- N +

常量表達(dá)式是什么意思 case后面的常量表達(dá)式

大家好,今天來為大家解答常量表達(dá)式是什么意思這個(gè)問題的一些問題點(diǎn),包括case后面的常量表達(dá)式也一樣很多人還不知道,因此呢,今天就來為大家分析分析,現(xiàn)在讓我們一起來看看吧!如果解決了您的問題,還望您關(guān)注下本站哦,謝謝~

常量和變量都是表達(dá)式對(duì)不對(duì)

答:常量和變量都是表達(dá)式的說法不對(duì)。理由如下:

因?yàn)槌A亢妥兞渴呛瘮?shù)表達(dá)式中的一些量,即:常量是在某一變化過程中隨時(shí)保持不變的量,變量是在變化過程中隨時(shí)都在變化的量,而變化過程的體現(xiàn)是通過函數(shù)表達(dá)式進(jìn)行抽象地概括。所以說常量和變量都是表達(dá)式是不對(duì)的。

常量表達(dá)式類型

常量指在程序運(yùn)行過程中始終保持不變的常數(shù)、字符串等;VB的常量有兩大類:內(nèi)存常量和自定義常量;內(nèi)存常量是由系統(tǒng)預(yù)定義的。

數(shù)組長(zhǎng)度的常量表達(dá)式只能為什么

數(shù)組長(zhǎng)度的常量表達(dá)式只能為整數(shù)類型(int、short、long等)的常量表達(dá)式,因?yàn)閿?shù)組需要在編譯期間確定其大小,而整數(shù)類型的常量表達(dá)式是可以在編譯期間被計(jì)算出值的,因此可以作為數(shù)組長(zhǎng)度的常量表達(dá)式。

其他類型的常量表達(dá)式,如字符串、枚舉等,在編譯期間不能確定其值,因此不能作為數(shù)組長(zhǎng)度的常量表達(dá)式。

什么是常量函數(shù)

很多人都忽略語義定義和優(yōu)化之間的關(guān)系。

例如RVO(ReturnValueOptimization),盡管大多數(shù)都支持,但是在語義上,依然有拷貝構(gòu)造函數(shù)。經(jīng)過優(yōu)化,實(shí)際上編譯出來的代碼,從來不會(huì)運(yùn)行拷貝構(gòu)造函數(shù),但是如果沒有拷貝函數(shù)的話,編譯器依然會(huì)報(bào)錯(cuò)。因?yàn)樵谡Z義上,調(diào)用了拷貝構(gòu)造函數(shù)。

例如TCO(TailCallOptimization),盡管你寫一個(gè)遞歸函數(shù),是tailcallrecursive,但是在語義上,依然是會(huì)有函數(shù)調(diào)用,盡管實(shí)際編譯出來的代碼不會(huì)產(chǎn)生stackoverflow。但是這個(gè)是不保證的。

同樣constantfold也是一種優(yōu)化技術(shù),無法再語義上保證運(yùn)行期常量。一個(gè)合法的編譯器完全可以不做這個(gè)優(yōu)化。

@考古學(xué)家千里冰封

的例子就演示了一個(gè)編譯器常量的例子。語義上保證,constexpr函數(shù)調(diào)用是在編譯期執(zhí)行的,而不是constantfold優(yōu)化的效果。

vb要求常數(shù)表達(dá)式是什么意思

當(dāng)必須使用常量你使用變量了就會(huì)出現(xiàn)這種問題。定義數(shù)組設(shè)置維數(shù)時(shí)必須使用常數(shù)。Dimx(i)AsInteger,這里面的i必須是一個(gè)確定的值,你可以在上文規(guī)定好Consti=9,或者直接Dimx(9)AsInteger。而ubound(x1)這是一個(gè)變量,不是常量。以為ubound()的結(jié)果隨著x1維數(shù)的變化而變化。

文章到此結(jié)束,如果本次分享的常量表達(dá)式是什么意思和case后面的常量表達(dá)式的問題解決了您的問題,那么我們由衷的感到高興!

返回列表
上一篇:
下一篇: