当前位置:  开发笔记 > 编程语言 > 正文

目标C - 为什么常数以k开头

如何解决《目标C-为什么常数以k开头》经验,为你挑选了3个好方法。

为什么我见过的所有例子中的常量总是以k开头?我应该在header或.m文件中#define常量吗?

我是Objective C的新手,我不知道C.是否有某些教程可以在不知道C的情况下解释这些类型的东西?



1> mipadi..:

使用"k"启动常量是Mac OS X之前的遗留问题.其实,我觉得练习,甚至可能来自方式,早在天,当Mac OS的在帕斯卡大多写的,主要的开发语言是帕斯卡.在C中,#define'd常量通常用ALL CAPS编写,而不是用"k"加前缀.

至于#define常数的位置:#define它们将在哪里使用它们.如果您希望#import代码使用常量的人,请将它们放在头文件中; 如果常量只在内部使用,请将它们放在.m文件中.


`#define`基本上是一个搜索和替换; 所以,如果你#define MYCONST @"My Constant",那么在你使用`MYCONST`的任何地方都会分配一个字符串.但是,如果使用`extern NSString*const MYCONST = @"My Constant";`,字符串将只被分配一次,并且`MYCONST`的所有使用都将指向相同的字符串.对于其他`#define`'d数据类型(例如,`#define MYCONST 4.0`),它几乎没有什么区别.
有趣的是,Google Code Style Guide要求常量也以'k'开头.当讨厌匈牙利记谱法的人使用这个惯例时,我很开心.:)

2> Caleb..:

Apple对命名常量的当前建议不包括'k'前缀,但许多组织采用该约定并仍然使用它,因此您仍然可以看到它很多.



3> Chuck..:

在这个问题中回答了"k"意味着什么的问题.

如果您打算.m使用这些常量以外的文件来使用这些常量,则必须将常量放在标题中,因为它们无法导入.m文件.

您可能对Cocoa Dev Central的Cocoa程序员C教程感兴趣.它解释了许多核心概念.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有