美文网首页
iOS之const与宏定义的区别

iOS之const与宏定义的区别

作者: 无极战思 | 来源:发表于2020-10-18 18:25 被阅读0次

宏定义的常见用法:定义一段代码抽成宏,或指定字符串抽成宏
const(常量):当有字符串常量的时候,苹果推荐我们使用const,苹果经常把常用的字符串定义成const
宏定义与const的区别:

  • 编译时刻不同,宏属于预编译,const属于编译时刻
  • 编译检查:宏不做检查不会编译错误,只是替换,const会做编译检查编译错误
  • 能定义一些函数、方法const不能,多个宏对于编译会相对时间较长,影响开发效率
    从以上三点不难看出,在开发中如果定义一个常量字符串就用const,定义一段代码就用

举例如下:
定义服务器地址
定义如下:#define CLServerHttp @"http://47.93.129.128:40004/"
如果用const来定义,我们经常会单独抽一个类来管理一些全局的变量或常量。

在NetManger.h中声明

#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN

@interface NetManger : NSObject
extern NSString*const CLServerHttp;
@end
NS_ASSUME_NONNULL_END

在NetManger.m中实现

 #import "NetManger.h"
 NSString * const CLServerHttp = @"http://47.93.129.128:40004/";
 @implementation NetManger
 @end

在ViewController.m中实现

#import "ViewController.h"
#import "NetManger.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
    
NSLog(@"----%@",CLServerHttp);
//输出----http://47.93.129.128:40004/
// Do any additional setup after loading the view.
}


@end

相关文章

  • const 宏 static extern

    IOS 基础-define、const、extern、全局变量 const 与 宏的区别 : C语言宏高级用法 [...

  • iOS-关键字-const、static、extern

    一. 宏与const的区别 宏是预编译时刻,const是编译时刻 宏没有编译检查,const有编译检查 宏可以定义...

  • iOS之const与宏定义的区别

    宏定义的常见用法:定义一段代码抽成宏,或指定字符串抽成宏const(常量):当有字符串常量的时候,苹果推荐我们使用...

  • iOS const、static、extern

    一、const与宏定义的区别 宏定义是在预编译时处理,const是在编译阶段处理;宏定义不做检查,不会报编译错误,...

  • 一些小链接

    1、iOS 宏(define)与常量(const)的正确使用 iOS宏(define)与常量(const)的正确使...

  • 浅谈const, static, extern

    废话不多说,直接上!!! const const常量与宏的区别,很多同学喜欢宏来定义常量,其实这里是不推荐的(苹果...

  • const、static、extern、宏

    const static extern 宏 const与宏的区别 static和const的联合使用 extern...

  • C++总结(1)

    1.const int *p与const * int p的区别: 2.有参宏问题: 1)宏只是简单的替换,替换之...

  • const,static,extern关键字

    每逢面试时多数会问到 const与宏的区别 及 static变量 先看下const与宏的区别: 编译时刻:宏是预...

  • iOS -> 正确使用static、extern、cons

    1、const与宏 #define 的区别: 2、static与const结合使用 3、extern与const ...

网友评论

      本文标题:iOS之const与宏定义的区别

      本文链接:https://www.haomeiwen.com/subject/rhjcmktx.html