C++;有类似列表的内容<;字符串>;在C#中? < C++ > C++中有什么类似列表>代码>吗?类似于List的东西,用于存储字符串数组。

C++;有类似列表的内容<;字符串>;在C#中? < C++ > C++中有什么类似列表>代码>吗?类似于List的东西,用于存储字符串数组。,c#,c++,C#,C++,NET中的列表不是链表。您正在寻找的数据结构是一个可调整大小的数组 std::vector<std::string> list; std::向量列表; 答案实际上是 std::vector<std::string> std::list类实际上相当于C#的LinkedList类。C++具有与C#的list相对应的std::vector模板类。它还具有与C#SingleLinkedList相对应的std::list模板 必须在C++ +>代码>矢量< /代码>和列表> /

NET中的列表不是链表。您正在寻找的数据结构是一个可调整大小的数组

std::vector<std::string> list;
std::向量列表;
答案实际上是

std::vector<std::string>

std::list
类实际上相当于C#的
LinkedList
类。

C++具有与C#的
list
相对应的
std::vector
模板类。它还具有与C#
SingleLinkedList
相对应的
std::list
模板

必须在C++ +>代码>矢量< /代码>和列表> /COD>项目的调用复制构造函数中准备。因此,将为您拥有的每个字符串创建一个副本


<> >,如果你的内存有限,或者你想在多个集合中存储相同的字符串,那么最好使用<代码> STD::vector < /C> >或“代码> STD::向量< />代码,而不是<代码> STD::vector < /代码> .< /P>注意到,泛型在C++中通常被称为“模板”。如果您需要,标准模板库也会提供列表以外的许多容器。虽然有
std::list
,但您可能希望使用
std::vector
,或者如果它是静态的
std::array
@Nawaz:NET
list
提供按索引对元素的固定时间访问,非常类似于
std::vector
,也非常不同于
std::list
。vector不在vs中,我应该使用什么标题?您需要
#include
#include
(对于
std::string
)。此外,除非使用命名空间std执行
,否则需要显式地将类型限定为
std::vector
在C++文件的顶部。@ Ata:你需要退一步,从C++开始,学习如何正确地从C++中编程。通过尝试使用其他语言熟悉的代码和习惯,很难学习C++,如果你还没有正确地学习C++,那么编写非常错误的C++代码是非常容易的。我同意杰姆斯的观点。你似乎缺乏关于C++和C语言之间的区别的一些基本知识。<代码> STD::列表< /COD>是一个双链接列表,不是一个单独的链接列表。当然,但是BCL没有双链接列表,STL没有单链表。我的意思是现有类在保证插入/删除时间方面是相似的。谢谢你的更正。拥有一个指针容器是不明智的,因为这样的东西本质上不是例外安全的。在大多数情况下,这样的事情无论如何都是不必要的,在可能需要这样的事情的地方,几乎总是有更好的解决方案。
#include <iostream> // iostream is for cout and endl; not necessary just to use vector or string
#include <vector>
#include <string>
using namespace std;

int main()
{
    vector<string> list;
    list.push_back("foo");
    list.push_back("bar");
    for( vector<string>::const_iterator it = list.begin(); it != list.end(); ++it )
        cout << *it << endl;

    return 0;
}