色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>通訊/手機編程>

ios中宏的使用注意點

大小:0.2 MB 人氣: 2017-09-25 需要積分:1

  前言:

  不得不說在C系語言(C, Objective-C, C++.。。)中宏(macro)是個強大的東西, 雖然在基本的語法上面看上去是非常的簡單, 不過有時候正因為他的強大和方便, 就會導致在使用的時候, 其中會有很多的注意點, 如果不小心被忽略, 那么將會帶來完全不想要的結果。 所以要想靈活的使用它, 那么還是先了解一些比較好。 而且在iOS開發中如果你是使用OC, 那么你可能經常會使用到#define(swift當前不支持宏)

  首先扔出幾個宏的定義,調用這些宏的時候分別是什么結果, 看看你能夠在不看后面的情況下, 清楚多少, 當然, 如果很清楚, 自然可以忽略后文的八卦了。。., 因為, 你絕對比我更了解宏。。.

  1. #define PI 3.14

  2. #define log(x) printf(“this is test: x = %d”, x)

  3. #define log(x) printf(“this is test: ”#x“ = %d”, x)

  4. #define power(x) x*x

  5. #define RGBA(r, g, b, a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]

  6. #define print(。。.) printf(__VA_ARGS__)

  7. #define RGB(r, g, b) {\

  RGBA(r, g, b, 1.0f);\

  }

  8. #define weakify( x ) autoreleasepool{} __weak typeof(x) weak##x = x;

  9. #define weakify(。。.) \ autoreleasepool {} \ metamacro_foreach_cxt(rac_weakify_,, __weak, __VA_ARGS__)

  這里先不解釋上面定義的幾個宏了, 首先介紹下宏的一些基本東西

  程序第一步是在預編譯之前會有一些操作, 例如刪除反斜線和換行符的組合, 將每個注釋用一個空格替代。。.

  然后在進入預編譯的時候, 會尋找可能存在的預處理指定(由#開頭), 例如C中常用的#include, 或者oc中的#import, #define.。。很多(條件編譯語句。。.)

  處理#define的時候,然后預處理器會從#開始, 一直到執行到第一個換行符(寫代碼的時候換行的作用), 自然, #define只會允許定義一行的宏, 不過正因為上面提到的預處理之前會刪除反斜線和換行符的組合, 所以可以利用反斜線定義多行宏, 在刪除反斜線和換行符的組合后, 邏輯上就成了一行的宏了

  宏作用在預編譯時期, 其真正的效果就是代碼替換, 而且是直接替換(內聯函數!!!), 這個和函數有著很大的區別, 并且正因為是直接替換, 在使用的時候就會有一些的注意點了, 這個在后面會給出例子

  宏可以被稱為 類對象宏, 類函數宏(開篇給的幾個宏中都已經囊括了這兩類)

  定義宏的語法很簡單, 一個宏定義由三部分組成 , 三分部之間用空格分開, #define, 宏的名字, 主體 例如第一個宏#define PI(宏的名字) 3.14(主體), 這里有個注意點就是, 宏的命名和普通的變量命名規則相同

  宏在預處理階段只進行文本的替換(相當于把代碼拷貝粘貼), 不會進行具體的計算(發生在編譯時期)

  ios中宏的使用注意點

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: WWW国产色情在线观看APP| 深夜释放自己在线观看| 吉吉影音先锋av资源网| 国产不卡免费| 姑娘日本大全免费观看版中文翻译| 97资源站超碰在线视频| 中文字幕在线观看亚洲视频 | 麻豆一二三四区乱码| 精品伊人久久久| 寂寞夜晚视频在线观看| 果冻传媒在线播放| 国自产精品手机在线视频| 国产一级做a爰片久久毛片男| 国产精品成人免费视频99| 国产激情视频在线| 国产免费毛片在线观看| 国产学生无码中文视频一区| 国产美女影院| 韩国精品韩国专区久久| 精品免费视在线视频观看| 精品久久久噜噜噜久久7| 久久99国产亚洲高清观着| 久久青草免费线观最新| 伦理片在线3348| 欧美精品九九99久久在观看| 青青久在线视频免费观看| 日本xxx片免费高清在线| 四库影院永久国产精品| 香蕉动漫库| 野花韩国免费高清电影| 竹菊精品久久久久久久99蜜桃| 99re热视频这里只有精品| xxxx69动漫| 国产看黄网站又黄又爽又色| 花蝴蝶在线直播观看| 精品国产自在天天线2019| 老师真棒无遮瑕版漫画免费| 奇米精品一区二区三区在线观看| 色拍拍噜噜噜久久蜜桃| 亚洲精品成A人在线观看| 最新精品国产|