c ++ winforms和标准库容器

时间:2013-09-22 16:26:01

标签: c++ winforms stl containers stdvector

我正在寻找与winforms项目一起使用的容器。 我最初使用std::vector,但在little search之后我发现在winforms项目中使用STL是错误的。 我找不到任何关于任何c ++ winforms容器的纪录片,所以我需要一个解决方案。

我正在使用Visual Studio 2012。

2 个答案:

答案 0 :(得分:2)

如果你想使用stl,微软将.net框架作为STL / CLR从3.5版本开始提供。 (see here for details

但是.net框架在System.Collections命名空间中包含自己的容器(使用装箱/取消装箱操作来存储值)所有版本(see here for details)和System.Collections.Generic命名空间(更多使用泛型,没有装箱/从版本2.0(see here for details)开始,用于存储值的拆箱操作 如果要在控件中显示列表项(例如ListBox或ComboBox),请使用BindingList< (see here for details

合并答案!

答案 1 :(得分:2)

不确定他们为什么要投票给你,因为这实际上是C ++。这只是微软的版本。此外,你没有“需要”stl向量或任何“特殊”容器.. .Net已经有一些框架用于这些事情。通常混合托管和本机C ++是一个坏主意,但在某些情况下它可以正常工作。

检查以下容器:

List<int>^ list = gcnew List<int>;
list->Add(42);
array<String^>^ strarray = gcnew array<String^>(100);
strarray[0] = "Hello";

依旧......