【发布时间】:2017-10-13 16:59:33
【问题描述】:
std::list<std::string> lWords; //filled with strings!
for (int i = 0; i < lWords.size(); i++){
std::list<std::string>::iterator it = lWords.begin();
std::advance(it, i);
现在我想要一个新字符串作为迭代器(这 3 个版本不起作用)
std::string * str = NULL;
str = new std::string((it)->c_str()); //version 1
*str = (it)->c_str(); //version 2
str = *it; //version 3
cout << str << endl;
}
str 应该是字符串 *it 但这不起作用,需要帮助!
【问题讨论】:
-
你为什么使用指针?
-
从您的帖子中不清楚您要完成什么。帮助您解决编译器错误并没有真正的用处,不是吗?
-
“我想要一个新字符串作为迭代器”是什么意思?这毫无意义,就像“我想要一个新苹果当飞机”。
-
您只是想要
std::string str = *it;或std::string& str = *it;之类的东西吗?你为什么要使用new?
标签: c++ string list stl iterator