【发布时间】:2018-12-18 00:00:51
【问题描述】:
我正在尝试从文件到向量中获取大约 300 万个字符串。我是这样分配的
vector<string> *slownikds = new vector<string>;
当我尝试从这样的文件中推回时:
string *line;
while (getline(slownik, *line))
{
*slownikds->push_back(*line);
}
它不起作用。如何从文件“slownik”中推回字符串?
【问题讨论】:
-
通常动态创建向量并没有任何好处。它已经在幕后动态存储了所有数据。与
std::string's 相同 -
slownikds是vect? -
请注意,无论您是否使用
new创建它们,字符串和向量都将其内容存储在堆中。 -
另外,您的代码没有将字符串推送到向量中,因为您没有为该指针分配字符串。它现在指向随机空间。
-
您不太可能需要或想要动态创建向量、字符串或其他容器。
标签: c++ string pointers vector heap-memory