真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

詳解IOS宏與常量的使用(define,const)

小編給大家整理了關(guān)于IOS中宏(define)與常量(const)的正確使用方法,有助于大家更加深入的理解這方面的內(nèi)容。

十載的湘陰網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整湘陰建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“湘陰網(wǎng)站設(shè)計(jì)”,“湘陰網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

當(dāng)我們想全局共用一些數(shù)據(jù)時(shí),可以用宏、變量、常量

宏:

#define HSCoder @"漢斯哈哈哈"

變量:

NSString *HSCoder = @"漢斯哈哈哈";

常量:

四種寫法:
static const NSString *HSCoder = @"漢斯哈哈哈";
const NSString *HSCoder = @"漢斯哈哈哈";
NSString const *HSCoder = @"漢斯哈哈哈";
NSString * const HSCoder = @"漢斯哈哈哈";

const修飾的位置不同代表不同的意思:

NSString const * 和 NSString * const 不同在于前者相當(dāng)于指針指向的內(nèi)容不可修改,后者表示指針本身不可修改

有時(shí)候會(huì)遇到:

詳解IOS宏與常量的使用(define,const)

const NSString *就會(huì)遇到警報(bào):

詳解IOS宏與常量的使用(define,const)

改成NSString * const就不會(huì)了。說明兩者是不同的。

詳解IOS宏與常量的使用(define,const)

詳解IOS宏與常量的使用(define,const)

思考:宏與常/變量的選擇?

宏:只是在預(yù)處理器里進(jìn)行文本替換,沒有類型,不做任何類型檢查,編譯器可以對相同的字符串進(jìn)行優(yōu)化。只保存一份到 .rodata 段。甚至有相同后綴的字符串也可以優(yōu)化,你可以用GCC 編譯測試,"Hello world" 與 "world" 兩個(gè)字符串,只存儲(chǔ)前面一個(gè)。取的時(shí)候只需要給前面和中間的地址,如果是整形、浮點(diǎn)型會(huì)有多份拷貝,但這些數(shù)寫在指令中。占的只是代碼段而已,大量用宏會(huì)導(dǎo)致二進(jìn)制文件變大

變量:共享一塊內(nèi)存空間,就算項(xiàng)目中N處用到,也不會(huì)分配N塊內(nèi)存空間,可以被修改,在編譯階段會(huì)執(zhí)行類型檢查

常量:共享一塊內(nèi)存空間,就算項(xiàng)目中N處用到,也不會(huì)分配N塊內(nèi)存空間,可以根據(jù)const修飾的位置設(shè)定能否修改,在編譯階段會(huì)執(zhí)行類型檢查

常量區(qū)分

全局常量:不管你定義在任何文件夾,外部都能訪問

const NSString *HSCoder = @"漢斯哈哈哈";

比如:

詳解IOS宏與常量的使用(define,const)

詳解IOS宏與常量的使用(define,const)

局部常量:用static修飾后,不能提供外界訪問

static const NSString *HSCoder = @"漢斯哈哈哈";

一般項(xiàng)目中,定義全局常量,會(huì)寫在獨(dú)立文件里

如:

詳解IOS宏與常量的使用(define,const)

詳解IOS宏與常量的使用(define,const)

詳解IOS宏與常量的使用(define,const)


網(wǎng)站名稱:詳解IOS宏與常量的使用(define,const)
文章分享:http://weahome.cn/article/jdcgjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部