如何解决C ++在C#中是否有类似List <string>的东西?
| C ++在C#中是否有类似于“ 0”的内容?类似“ 1”之类的东西,用于存储字符串数组。解决方法
答案实际上是
std::vector<std::string>
std::list
是一个链表,而不是C#\4ѭ类之类的数组。
例如。
#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;
}
std::list
类实际上等效于C#的LinkedList<T>
类。
, .NET中的列表不是链接列表。您要查找的数据结构是可调整大小的数组。
std::vector<std::string> list;
, C ++具有对应于C#的ѭ10corresponds的std::vector
模板类。它还具有对应于C#SingleLinkedList
的std::list
模板。
必须准备在C ++vector
和list
中调用item的副本构造函数。因此,将为每个字符串创建一个副本。
因此,如果您的内存有限,或者想将相同的字符串存储在多个集合中,则最好使用std::vector<std::string*>
或std::vector<char*>
而不是std::vector<string>
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。