相关疑难解决方法(0)

托管C++中的数组初始化

我希望声明并初始化一维托管数组.

如果它是C#代码,我会这样写:

VdbMethodInfo[] methods = new VdbMethodInfo[] {
    new VdbMethodInfo("Method1"),
    new VdbMethodInfo("Method2")
};
Run Code Online (Sandbox Code Playgroud)

我想在托管C++中写(实际上,我正在编写一个程序生成)同样的东西...

到目前为止,我有:

typedef array<VdbMethodInfo^, 1> MethodArray;
// How do I avoid pre-declaring the size of the array up front?
MethodArray^ methods = gcnew MethodArray(2);
methods[0] = gcnew VdbMethodInfo("Method1");
methods[1] = gcnew VdbMethodInfo("Method2");
Run Code Online (Sandbox Code Playgroud)

这有两个问题:

  1. 它更冗长
  2. 它需要我预先声明数组的大小,这对我的代码生成器来说是不方便的

Managed C++中的GC数组是否有"数组初始化"语法?什么是正确的语法?是否有关于此问题和其他类似问题的良好网络链接?

.net managed-c++ c++-cli

7
推荐指数
1
解决办法
2万
查看次数

C++ CLI 集合初始值设定项语法

C++ CLI 支持此功能吗?我想在 C++ CLI 中执行类似以下 C# 示例的操作

var dictionary = new Dictionary<string, string> { { "foo", "bar" } };
Run Code Online (Sandbox Code Playgroud)

谢谢

c++-cli

5
推荐指数
1
解决办法
4667
查看次数

标签 统计

c++-cli ×2

.net ×1

managed-c++ ×1