日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【iOS基础知识】const与宏的区别

發(fā)布時間:2025/6/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【iOS基础知识】const与宏的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

const與宏的區(qū)別

區(qū)別:

處理時刻:宏是預(yù)處理時(即在預(yù)處理時把宏展開,替換為原來的值),const是編譯運行時(編譯器在編譯時會檢查錯誤,程序在運行時,從內(nèi)存(堆或棧)中讀取)

編譯檢查:宏不會編譯報錯,const會包編譯錯誤

宏好處:可以定義函數(shù)和方法、const不可以定義函數(shù)和方法

宏壞處:大量使用宏,會使編譯時間太久,每次編譯都需要替換

?

宏:

1、常見的常量,定義為宏,例如appName,age

#define kAge 20

2、常見的方法,定義為宏,例如UserDefault

#define kUserDefault [NSUserDefaults standardUserDefaults]

?

const

const只用于修飾右邊的變量(基本數(shù)據(jù)變量p,指針變量*p),被const修飾的變量是只讀的。

1、修飾基本數(shù)據(jù)變量,這兩種方法是一樣的,const只修飾右邊的變量。

const int b = 20; // b:只讀變量 int const b1 = 20; // b:只讀變量

2、修飾指針變量(const修飾右邊的變量),所以,它*p1是常量,p1是變量

const int *p1; // *p1:常量 p1:變量 int const *p1; // *p1:常量 p1:變量

下面這個例子,第一個const,修飾的是*p1,第二個修飾p1,故:*p1、p1都是常量

const int * const p1; // *p1:常量 p1:常量int const * const p1; // *p1:常量 p1:常量

?3、const 修飾 oc對象

// 字符串常量 static NSString * const kAppName = @"Wexin";

?

對于NSString類型的常量,蘋果推薦使用const,推薦用法:

UIKIT_EXTERN NSString *const UITableViewSelectionDidChangeNotification;

?

轉(zhuǎn)載于:https://my.oschina.net/Misayalvyuan/blog/716642

總結(jié)

以上是生活随笔為你收集整理的【iOS基础知识】const与宏的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。