我可以在 c++ 类中将成员变量声明为 const 吗?如果可以,如何声明?

发布于 2024-07-27 04:40:21 字数 41 浏览 4 评论 0原文

我可以在c++类中将成员变量声明为const吗?如果可以,如何声明?

Can i declare member variable as const in class of c++?if yes,how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

玉环 2024-08-03 04:40:21

您可以 - 将 const 放在类型名称前面。

class C
{
     const int x;

public:
      C() : x (5) { }
};

You can - you put const in front of the type name.

class C
{
     const int x;

public:
      C() : x (5) { }
};
寂寞美少年 2024-08-03 04:40:21

如果它不是成员,您可以像这样声明它。 请注意,将变量声明为 const 将对类的使用方式产生相当大的影响。 你肯定需要一个构造函数来初始化它:

class A {
    public:
        A( int x ) : cvar( x ) {}
    private:
        const int cvar;
};

You declare it as you would if it wasn't a member. Note that declaring a variable as const will have considerable effects on the way that the class is used. You will definitely need a constructor to initialise it:

class A {
    public:
        A( int x ) : cvar( x ) {}
    private:
        const int cvar;
};
迷爱 2024-08-03 04:40:21

当然,如果类的所有实例的值都相同,最简单的方法就是这样:

class X
{
public:
    static const int i = 1;
};

或者如果您不希望它是静态的:

class X
{
public:
    const int i;
    X(int the_i) : i(the_i)
    {     
    }
};

Sure, the simplest way is like this if the value will be the same across all instances of your class:

class X
{
public:
    static const int i = 1;
};

Or if you don't want it static:

class X
{
public:
    const int i;
    X(int the_i) : i(the_i)
    {     
    }
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文