定义全局常量的方法很少:define、static const、extern...等。
什么是消耗较少内存的?
我的 .pch 文件中有很多常量。
最佳答案
建议使用常量。除非您处于内存非常有限的环境中,否则如果您不使用它,那么浪费的内存是很微小的。框架中充满了这样的常量。
但是为了帮助理解:常量将使用内存来存储字符串本身,并使用一个指针大小的内存块来存储常量自己的存储空间——通常是 4 或 8 个字节。除非您不使用它并且编译器或链接器能够删除它;如果常量是全局可访问的,这不太可能,如果它是文件范围(静态)常量,则更有可能。宏的内存使用也取决于编译器/链接器,但可能比常量更多 - 考虑到在宏处理之后,编译器会看到同一文字字符串的多次使用,可能在不同的文件中。
因此,除非您非常了解您的编译器/链接器,并且它不会改变,否则您正在考虑可能性:
总之,如果使用字符串,常量可能会使用更少的内存,最多可以忽略不计,所以不要担心,除非你的内存非常有限;或者直到内存成为问题。
关于ios - 全局常量中的内存使用更少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21882123/