C# 中“const”关键字的 C++/CLI 等效项是啥?

Posted

技术标签:

【中文标题】C# 中“const”关键字的 C++/CLI 等效项是啥?【英文标题】:What is the C++/CLI equivalent for the 'const ' keyword in C#?C# 中“const”关键字的 C++/CLI 等效项是什么? 【发布时间】:2016-02-15 21:10:25 【问题描述】:

我尝试在我的 C++/CLI 代码中声明以下内容。

public ref class MyClass

public:
    const String ^MyLuckyNumber = "One";

它在编译阶段失败了。但在 C# 中,以下工作。

public class MyClass

    public const string NowMyLuckyNumber = "Two";

如何在 C++/CLI 中声明“const String^”? 我试图用谷歌搜索它,但没有运气!

【问题讨论】:

我不懂 C++/CLI,但可以试试String ^const MyLuckyNumber = "One"; 【参考方案1】:

我相信您要查找的关键字是literal

literal String ^MyLuckyNumber = "One";

literal 关键字暗示您要声明的变量上的 static const。此外,关键字需要在声明期间进行初始化,这是您对 static const 声明的期望。

MSDN Reference

【讨论】:

如果像我一样,你想创建一个只包含常量的 C++/CLI 结构,你必须在 C++/CLI 库某处的 cpp 文件中 #include 头文件,否则结构定义是未包含在库中。

以上是关于C# 中“const”关键字的 C++/CLI 等效项是啥?的主要内容,如果未能解决你的问题,请参考以下文章

C#中const用法详解

Java的Final和C#的Const,Readonly比较分析(转载)

我还在 C++/CLI 中写 String^ const

C++在函数声明时,后面跟个const是啥意思?

const 在c及c++中应用

C#中的const形参