C++ WinForms 和标准库容器

c++ winforms and standard library containers

本文关键字:标准 WinForms C++      更新时间:2023-10-16

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

我正在使用Visual Studio 2012。

不知道为什么他们投票给你,因为这实际上是C++。这只是微软的版本。此外,您不需要"需要"stl 向量或任何"特殊"容器。.Net已经为其中一些东西提供了一个框架。通常混合托管和本机C++是一个坏主意,但在某些情况下它可以正常工作。

签出容器,如下所示:

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

等等..

如果你想使用stl,Microsoft从3.5版本开始为.net框架提供STL/CLR。(详情请看这里)

但是.net framework在System.Collections命名空间(使用装箱/拆箱操作来存储值)中包含自己的容器,用于所有版本(有关详细信息,请参阅此处

)和System.Collections.Generic 命名空间(更多使用泛型,没有装箱/拆箱操作来存储值)自2.0版本以来(有关详细信息,请参阅此处)。
如果要在控件(例如 ListBox 或 ComboBox)中显示列表项,请使用 BindingList<(有关详细信息,请参阅此处)

合并答案!