OC和 C语言中的const

2024-06-24 10:38
文章标签 oc const 语言

本文主要是介绍OC和 C语言中的const,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

const与宏对比


1.都是在其他的地方不可以改变

2.一个地方改了其他的地方都会改变。


而且宏定义的缺陷是,

是它会不断的开辟临时变量的存储空间

使用const的话 是都去使用同一的一份空间,使用同一个对象。


加const 之后变量还是全局的,只不过变为全局常量。

如果此时改变量不想被被类外面访问的话,可以加上static关键字,

3.下次想要定义一些宏的时候分两种情况,想要类外访问:1.加上static 关键字

2.加const关键字不加static关键字


4.如果我们下次要引用某个全量。extern const CGFloat XMGRed,XMGGreen;

5.我们自己定义的话,可以定义一个全局的Const文件

.m文件中定义  

const CGFloat a=100;

.h中声明

UIKIT_EXTERN  const CGFloat a;








这篇关于OC和 C语言中的const的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1089918

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引发了我们的广泛关注。从训练和操作的角度来看,LLMs 可以被认为是一种巨大的、非真实的记忆库,相当于为我们所有人提供了一个外部的系统 1(见图 1)。然而,它们表面上的多功能性让许多研究者好奇,这些模型是否也能在通常需要系

人工和AI大语言模型成本对比 ai语音模型

这里既有AI,又有生活大道理,无数渺小的思考填满了一生。 上一专题搭建了一套GMM-HMM系统,来识别连续0123456789的英文语音。 但若不是仅针对数字,而是所有普通词汇,可能达到十几万个词,解码过程将非常复杂,识别结果组合太多,识别结果不会理想。因此只有声学模型是完全不够的,需要引入语言模型来约束识别结果。让“今天天气很好”的概率高于“今天天汽很好”的概率,得到声学模型概率高,又符合表达

C语言 将“China”译成密码

将“China”译成密码,密码规律是:用原来的字母后面的第4个字母代替原来的字母。例如,字母“A”后面的第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。编译程序用付赋初值的方法使c1,c2,c3,c4,c5这五个变量的值分别为“C”,“h”,“i”,“n”,“a”,经过运算,使c1,c2,c3,c4,c5分别变成“G”,“l”,“m”,“r”,“e”。分别用put

C语言入门系列:探秘二级指针与多级指针的奇妙世界

文章目录 一,指针的回忆杀1,指针的概念2,指针的声明和赋值3,指针的使用3.1 直接给指针变量赋值3.2 通过*运算符读写指针指向的内存3.2.1 读3.2.2 写 二,二级指针详解1,定义2,示例说明3,二级指针与一级指针、普通变量的关系3.1,与一级指针的关系3.2,与普通变量的关系,示例说明 4,二级指针的常见用途5,二级指针扩展到多级指针 小结 C语言的学习之旅中,二级

【LinuxC语言】select轮询

文章目录 前言select函数详解selectfd_set类型一个小问题select函数使用步骤改进服务器代码select服务器示例代码 总结 前言 在Linux C语言编程中,我们经常需要处理多个I/O操作。然而,如果我们为每个I/O操作创建一个线程,那么当I/O操作数量增加时,线程管理将变得复杂且效率低下。这就是我们需要select轮询的地方。select是一种高效的I/

拓扑排序——C语言

拓扑排序(Topological Sorting)是一种用于有向无环图(DAG)的排序算法,其输出是图中所有顶点的线性排序,使得对于每条有向边 (u, v),顶点 u 在 v 之前出现。拓扑排序确定了项目网络图中的起始事件和终止事件,也就是顶点的执行顺序。         因为是有向无环图,所以拓扑排序的作用其实就是把先发生的排序在前面,后发生的排序到后面。 例如现在我们有一个

OC 中的*前const与*后const

int const *p2; int *const p3; 这个什么不能改由const后面的内容决定,如果是*p的话,则*p不可以改。 也就是说p指向的内容不能改变 如果const后面是p的话,则p不能改,也就是说p的指向不可以改变 OC中的字符串的话 NSString* name=@"wangning"; 此时我们不想让外界改变name的值得话const应该加在 NS

OC 中的深拷贝和浅拷贝

1.指针地址拷贝,浅拷贝,拷贝的只是指针地址,一旦我通过这个地址修改了值,那么原来的内存保存的值也会变化 2.mutablecopy  深拷贝,产生新对象 copy与mutablecopy区别在于返回的值,copy返回不可变对象,mutableCopy返回可以变化的值

OC中的static关键字

1.修饰局部变量      1.只会初始化一次      2.全局只会存在一份内存      3.不会改变自身的作用域,比如原来是局部变量现在的话依然是局部变量      4.生命周期延长(直到程序结束,这个局部变量才会被销毁)      2.  修饰全局变量     static 修饰的全局变量 在整个工程 中只会存在一份     只可以在当前的.h .m文件中才可以访问。 如果单纯全局变量的