gpt4 book ai didi

c++ - 在头文件中声明和初始化常量

转载 作者:IT老高 更新时间:2023-10-28 22:58:58 26 4
gpt4 key购买 nike

我精通以下典型范例:

//.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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com