看过我其他的博客的人都知道,我喜欢用define定义常量,最近看了一个开源的轮子,使用UIKIT_EXTERN这个定义的常量,了解了一下,发现使用宏定义的常量会在内存中临时开辟一份内存空间,而使用UIKIT_EXTERN定义的常量只会开启一份内存空间,两者效果一样,自行选择使用

.h文件

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface ConstObj : NSObject@end
UIKIT_EXTERN NSString *const Name;
UIKIT_EXTERN int const Age;
UIKIT_EXTERN CGFloat const Height;#define Dname @"Dname"
#define Dage 12
#define Dheight 1.62

.m文件

#import "ConstObj.h"@implementation ConstObj@endNSString *const Name = @"王小二";
int const Age = 18;
CGFloat const Height = 1.65;

转载于:https://www.cnblogs.com/hualuoshuijia/p/10108711.html

UIKIT_EXTERN和define定义常量相关推荐

  1. C++ 笔记(07)— 常量(字面常量、const定义常量、constexpr 定义常量、enum 定义常量、define 定义常量)

    在 C++ 中,常量类似于变量,只是不能修改.与变量一样,常量也占用内存空间,并使用名称标识为其预留的空间的地址,但不能覆盖该空间的内容. 常量可以是任何的基本数据类型,可分为整型数字.浮点数字.字符 ...

  2. [C语言]static关键字--#define 定义常量和宏--初识指针--初识C语言(四)

    文章目录 前言 一,static关键字 二,#define 定义常量和宏 三,初识指针 总结 前言 本节主要记录初识C语言第四节内容. 内容包括:static关键字------#define 定义常量 ...

  3. #define 定义常量和宏,指针和结构体

    目录 #define 定义常量和宏 #define 定义常量 #define 定义宏 指针 内存 指针变量的大小 结构体 #define 定义常量和宏 #define 定义常量 在变量和常量2,#de ...

  4. define定义常量和宏 以及 寄存器关键字register

    在C语言中,# 指的是预处理指令.像#define就是在main函数之前预先进行定义. define定义常量 这里定义了常量NUM,我们知道数组固定下标值必须是常量,这也进一步说明了这里define定 ...

  5. C语言 define 定义常量 - C语言零基础入门教程

    目录 一.define 简介 二.define 实战 1.不使用 define 2.使用 define 3.使用 define 优点 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学 ...

  6. C语言中的#define定义常量和宏

    C语言中的define是一个预处理指令. 1.define定义常量        格式为:#define  标识符  常量  , 注意:语句末尾没有":". 2.define定义宏 ...

  7. C语言——初识C语言(define定义常量和宏,指针,结构体)

    1.1define定义常量和宏 define    定义符号(定义常量) //define 定义标识符常量 #define MAX 1000 define    定义宏(宏是有参数的,参数用来替换) ...

  8. 为什么不要工程中不要随意使用define定义常量

    首先,预处理命令他不是一个常量!!!! 我们来看一段代码 #define avatar @"60"if (false) {#define avatar @"80" ...

  9. php定义常量 define vs const

    常量一旦定义就不能在改变或者取消. 在php中定义常量可以使用define()函数,在php5.3之后同样可以使用const关键字来定义常量. define 和 const的区别 语法区别 // 使用 ...

最新文章

  1. disconf 中文乱码
  2. spring框架四大原则
  3. RBAC用户角色权限设计方案
  4. SVN服务器和客户端的基本使用详细图解
  5. 如何自动填充网页表单_iCab for Mac(web网页浏览器)
  6. JavaWeb-SpringBoot(抖音)_二、服务器间通讯
  7. 坚持探索与落地并重,阿里巴巴云原生之路全景揭秘
  8. 基于Java jsp+mysql+Spring的汽车出租平台租赁网站平台设计和实现
  9. 开源字体_开源字体的前5大资源
  10. 浅谈“从神经网络——迁移学习引发的一系列的思考”
  11. Android学习路线指南
  12. wps画 ui 原型图
  13. 计算机c盘内存怎么转给d盘,C盘空间太大怎么把空间转到D盘或E盘
  14. matlab韦伯分布,科学网—威布尔分布 Weibull Distribution 资源网页搜集 - 杨正瓴的博文...
  15. 朋友圈文案_隐私条款
  16. 10.MATLAB方差分析
  17. K12在线教育持续升温,教育需线上线下相结合!
  18. 网络是怎样连接的--生成HTTP请求消息过程
  19. 力扣1823题:找出游戏获胜者(约瑟夫环)
  20. 云计算存储之Ceph是什么?

热门文章

  1. 大数运算(8)——大数幂运算
  2. 最大子序列和问题 hdu1231
  3. vysor原理代码实现(V2.0)
  4. 彻底弄懂dalvik字节码【三】
  5. android settings源代码分析(2)
  6. 一行命令搞定node.js 版本安装、升级与卸载
  7. JZOJ 3852. 【NOIP2014八校联考第2场第2试9.28】单词接龙(words)
  8. ultraedit 运行的是试用模式_Wings面向企业级的单元测试用例自动编码引擎
  9. [HAOI2010]订货
  10. 【普及组模拟赛】作业