第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

變量聲明時就在內(nèi)存開辟空間嗎?

變量聲明時就在內(nèi)存開辟空間嗎?

qq_殺意隆_0 2018-03-17 11:21:28
int?x;?//?這一句是否已經(jīng)開辟了空間? x?=?1;如果是的話:int?x; while(true) { ????x?=?1; } //上面代碼比下面代碼性能高? while(true) { ????int?x?=?1; }
查看完整描述

1 回答

?
onemoo

TA貢獻883條經(jīng)驗 獲得超454個贊

你在三個語言分區(qū)中都問了這個問題,那么你想問這代碼在三種語言中的行為嗎?


在 C 和 Java 中,第一個問題的回答是:是的。

C 語言中,int x; 就算是定義。Java 中這樣的本地變量也是有值的。只不過它們的初值都是未定義的。

C# 我不了解。


至于第二個問題:你完全沒有必要考慮這種過于細(xì)節(jié)的所謂“優(yōu)化”,編譯器完全會處理好這些的(它可能會把這兩種代碼優(yōu)化成同樣效率的結(jié)構(gòu))。

通常在寫代碼時最優(yōu)先考慮的是代碼的邏輯性和可讀性。具體來說,如果 x 只會用在循環(huán)中,更推薦將 x 寫在循環(huán)體里。這樣更具邏輯性,也把 x 的作用域限制在循環(huán)體中,避免 x 不必要地傳播到循環(huán)體外面。

查看完整回答
1 反對 回復(fù) 2018-03-17
  • 1 回答
  • 0 關(guān)注
  • 2684 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號