我精通以下典型范例:
//.h
extern const int myInt;
//.c, .m, .cpp, what have you
const int myInt = 55;
但必须有一种方法可以将其放入 .h
文件中,以便与无法访问实现文件的库或其他实例一起使用。
例如,我正在尝试将 NSString
常量添加到 Xcode 项目中的 .h
文件中,如下所示:
static NSString *const myString = @"my_string";
但是,当我尝试使用 myString
时,我得到了错误
Initializer element is not a compile-time constant
在 myString
上,表示它没有被正确实例化。如何在 C++ 或 Objecitve-C 头文件中声明编译时常量?
最佳答案
在 C++ 中,const
对象具有内部链接,除非显式声明 extern
,因此将定义放入头文件中没有问题,例如:
const int myInt = 55;
有了这个定义和第一个声明,myInt
可以用作整数常量表达式,例如用于数组边界等。
我无法回答 Objective C。
关于c++ - 在头文件中声明和初始化常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11194095/