C矢量与管理对象

您好我需要填充托管对象的向量(或其他类似的数据结构).

通常我可以写:

std::vector<Object> vect;

但我不能用:

std::vector<Object^> vect;

有人可以解释一下,如何改变声明或建议其他结构而不是矢量.谢谢.

解决方法:

使用.NET泛型List类:http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx

列出来自同一WEB页面的枚举示例,如user1237747的评论所要求的:

#include "stdafx.h"
using namespace System;
using namespace System::Collections::Generic;

int main(array<System::String ^> ^args)
{
    List<String^>^ dinosaurs = gcnew List<String^>();

    dinosaurs->Add("Tyrannosaurus");
    dinosaurs->Add("Amargasaurus");

    for each(String^ dinosaur in dinosaurs )
    {
        Console::WriteLine(dinosaur);
    }

    return 0;
}

用您需要的类型替换String ^.您还可以使用[]运算符通过索引访问List元素.

通常,如果不是绝对必要,请避免混合托管和非托管类型.

上一篇:c# – 一起调试托管和非托管代码


下一篇:SimpleDateFormat日期格式化