C++/CLI 中的文字字段与常量变量

2024-01-01

我正在阅读一些 C++/CLI 材料,并且遇到了文字字段的概念:

literal int inchesPerFoot = 12;

这比 const 更好吗,因为 constFIELD不能存在,因为字段无法初始化自身......所以:

class aClass
{
    private:
        const int aConstant = 1;    // Syntax error.
...
};

Thanks,

Scott


文字字段用于编译时常量。它与类相关联(类似于“静态常量”字段)。在你的例子中aConstant是一个非静态常量(基于实例)字段——这就是为什么你不能在声明时初始化它(它将在构造函数的初始化列表中初始化)。

文字和静态 const 字段之间的区别在于,引用程序集不能使用静态 const 字段作为编译时常量,而文字可以。但是,在同一程序集中,static const 可以用作编译时常量。

供参考, Literal 相当于 C# 的 const。 initonly相当于C#的readonly。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++/CLI 中的文字字段与常量变量 的相关文章

随机推荐