zoukankan      html  css  js  c++  java
  • iOS宏定义

    宏定义在C语言开发中有着很高的地位,由于oc语言完全兼容C语言中的语法,所以本文演示的宏定义在C语言中同样可以使用。

    C中宏分为两类:对象宏,函数宏

    1.对象宏:单纯的查找替换。

    例:

    #define M_PI        3.141592654

    2.函数宏:函数宏是可以接受参数的宏,在宏名字后面添加一个括号,括号里面添加相应的参数+空格加参数的处理(这里最好加上括号,因为可能直接拿宏去当参数计算可能出现优先级的问题),这就是函数宏。

    例:

    1     #define SUMFUCION(x,y)((x)+(y))//求两个数的和
    2     #define MINNUM(x,y) ((x)<(y)?(x):(y))//求两个数中最小值
    3     NSLog(@"%d",SUMFUCION(1, 5));
    4     NSLog(@"%d",MINNUM(2, 5));

    对NSLog原生打印的修改

    //A better version of NSLog  
    #define NSLog(format, ...) do {                                                                            
                                 fprintf(stderr, "<%s : %d> %s
    ",                                             
                                 [[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String],    
                                 __LINE__, __func__);                                                          
                                 (NSLog)((format), ##__VA_ARGS__);                                             
                                 fprintf(stderr, "-------
    ");                                                 
                               } while (0)
  • 相关阅读:
    luogu P1396 营救
    luogu P2009 跑步
    2017 9 22
    2017 9 22 模拟赛T2
    2017 9 21
    luogu P1433 吃奶酪
    luogu p1867【Mc生存】经验值
    luogu p1387 最大正方形
    单例模式1
    Java 设计模式
  • 原文地址:https://www.cnblogs.com/kfgcs/p/6393375.html
Copyright © 2011-2022 走看看