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

C++ cli 文本字段与C+中的常量变量+/CLI,c++-cli,C++ Cli,我在复习一些C++/CLI材料时,遇到了文字字段的概念: literal int inchesPerFoot = 12; 这是否比常量更可取,因为常量字段无法存在,因为字段无法初始化自身…因此: class aClass { private: const int aConstant = 1; // Syntax error. ... }; 谢谢 Scott编译时常量使用文本字段。它与类关联(类似于“static const”字段)。在您的示例中,aConstan

我在复习一些C++/CLI材料时,遇到了文字字段的概念:

literal int inchesPerFoot = 12;
这是否比常量更可取,因为常量字段无法存在,因为字段无法初始化自身…因此:

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


Scott

编译时常量使用文本字段。它与类关联(类似于“static const”字段)。在您的示例中,
aConstant
是一个非静态常量(基于实例的)字段——这就是为什么您不能在声明时初始化它(它将在ctor的初始化列表中初始化)

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

仅供参考, literal相当于C#的常量。
initonly相当于C#的readonly。

谢谢您的回答!我也很感激你提到initonly…在发布这篇文章后不久,你会发现这一点。