首页 > 后端开发 > C++ > 如何在 C 中正确定义静态常量整数类成员?

如何在 C 中正确定义静态常量整数类成员?

Barbara Streisand
发布: 2024-12-01 08:29:11
原创
556 人浏览过

How Do I Properly Define Static Const Integer Class Members in C  ?

在类定义中定义静态常量整数成员:探索

C 允许在类定义中声明静态常量整数成员。然而,理解这种情况下初始化和定义之间的区别至关重要。

在提供的示例代码中:

class test
{
public:
    static const int N = 10;
};
登录后复制

类中 N 的声明将其初始化为值10. 然而,这并不等同于定义。要解决遇到的链接器错误,需要在类定义之外单独定义 N。这可以通过命名空间范围定义来实现,例如:

const int test::N = 10;
登录后复制

或者,constexpr 关键字可用于在一个步骤中声明和定义静态 const 整数成员,从而无需单独的定义:

class test
{
public:
    static constexpr int N = 10;
};
登录后复制

在调用 std::min 的情况下,它期望通过引用传递参数。由于 N 被声明为静态常量整数,因此需要对其进行定义以通过引用要求。注释掉对 std::min 的调用允许代码编译,因为不再需要 N 的定义,尽管它仍然被引用。

总而言之,而 C 允许在内部初始化静态 const 整数成员类定义中,需要单独的定义来引用该值。这可以通过命名空间范围定义或使用 constexpr 关键字来实现。

以上是如何在 C 中正确定义静态常量整数类成员?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板