UIKIT_EXTERN和define定义常量
看过我其他的博客的人都知道,我喜欢用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 @end NSString *const Name = @"王小二";
int const Age = 18;
CGFloat const Height = 1.65;
UIKIT_EXTERN和define定义常量的更多相关文章
- const define 定义常量的区别
1.用const定义常量在编译的时候,提供了类型安全检查,而define 只是简单地进行字符串的替换 2.const定义的常量,会分配相应的内存空间.而define没有分配空间,只是在程序中与处理的时 ...
- const变量与define定义常量的区别
一.概念性区别 const 变量就是在普通变量前边加上一个关键字const,它赋值的唯一机会就是“定义时”,此变量不能被程序修改,存储在rodata区. define定义的是常量,不是变量,所以编译器 ...
- PHP中const和define()定义常量的细节区别
转自:http://www.365mini.com/page/difference-of-define-and-const.htm 众所周知,在PHP中(php 4及以后),我们可以使用函数defin ...
- PHP define() 定义常量
PHP define()函数定义了运行时的常量, 具体语法如下所示: (PHP 4, PHP 5, PHP 7) define — Defines a named constant bool defi ...
- PHP 中 define() 和 const 定义常量时的区别
自 PHP 5.3.0 起,有两种方式定义常量,使用 const 关键字或者 define() 函数: 1 2 const FOO = 'BAR'; define('FOO', 'BAR'); 这 ...
- PHP中define()和const定义常量的区别
在PHP中可以通过define()和const两种方式定义常量可是在开发中我们应该什么时候用define()定义常量,什么时候用const定义常量? 这两种方式定义常量的主要区别是什么? 从5.3版本 ...
- 【转】Effective-Objective-C-读书笔记-Item-4-如何正确定义常量 -- 不错
原文网址:http://tutuge.me/2015/03/11/Effective-Objective-C-%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0-Item-4-% ...
- 在php中定义常量时,const与define的区别?
问]在php中定义常量时,const与define的区别? [答]使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比define快很 ...
- C/C++中define定义的常量与const常量
常量是在程序中不能更改的量,在C/C++中有两种方式定义常量,一种是利用define宏定义的方式,一种是C++中新提出来的const型常变量,下面主要讨论它们之间的相关问题: define定义的常量: ...
随机推荐
- POJ 1904 King's Quest(强连通)
Language: Default King's Quest Time Limit: 15000MS Memory Limit: 65536K Total Submissions: 7635 ...
- js的 new Date()日期格式化显示以及js获取时间戳
一.日期格式化显示: 对 new Date() 得到日期的进行格式显示扩展,扩展方法如下: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分 ...
- 【python】关键网站
https://pypi.org https://www.python.org/search/?q=pyhanlp&submit= https://www.lfd.uci.edu/~gohlk ...
- cocos2d-x游戏引擎核心(3.x)----启动渲染流程
(1) 首先,这里以win32平台下为例子.win32下游戏的启动都是从win32目录下main文件开始的,即是游戏的入口函数,如下: #include "main.h" #inc ...
- ubuntu安装cocos2dx
操作系统:ubuntu16.04 LTSIDE:Code::blocks 16.01Cocos2dx版本:cocos2d-x 3.11.1这篇随笔将会简要地演示如何在ubuntu下安装cocos2dx ...
- android rom开发
How to Build Android ROMs on Ubuntu 16.04https://www.digitalocean.com/community/tutorials/how-to-bui ...
- C# 读写Excel的一些方法,Aspose.Cells.dll
需求:现有2个Excel,一个7000,一个20W,7000在20W是完全存在的.现要分离20W的,拆分成19W3和7000. 条件:两个Excel都有“登录名”,然后用“登录名”去关联2个Excel ...
- java内存溢出总结(1.8)
堆溢出 原因:老年代没有足够的空间存放即将进入老年代对象(或者没有连续的空间存下某个大对象),1.多次gc没有回收的对象 2. ygc后,s区满了,多余的对象直接进入老年代,3.大对象直接进入老年代 ...
- 极验(geetest)验证码
最近在做项目的时候,需要用到登录验证,在网上看到了一个很不错的验证插件,在此记录一下使用流程. 极限验证码 官网:http://www.geetest.com/,到GitHub下载服务端代码htt ...
- ubuntu汉化
寻找 Simplified Chinese,点击下面的apply 回到这里在最下面找到刚刚安装的语言,是灰色的,左键点击,将它拖到最上面,点击应用到整个系统,配置完成.重启系统就变成中文了. 晚上不要 ...