繁体   English   中英

C ++迭代器列表

[英]C++ Iterator List

我有一个疑问。 我有一个带有一些数据的对象列表(在这种情况下为存储名称)。

我迭代该列表:(pNames是我的列表按参数接收)

std::string names;
std::list<Names>::const_iterator it = pNames->begin();
while(it != pNames->end())
{
   std::cout << names << it->namesUser;
   ++it;
}

问题:我需要将iterator的所有值保存在std :: string中,以便在mysql查询中使用此字符串(例如,从用户的年龄(在“(names”)中选择名称);)在此示例中,`std ::: cout <<名称<< it-> namesUser; 我可以在列表中看到所有名称,但是例如不能在查询中使用名称变量。 它仅适用于cout。 我是C ++编程的新手,那么将所有迭代器值存储在字符串中的方式是什么?

非常感谢。

问候

使用std :: ostringstream代替std :: cout

http://www.cplusplus.com/reference/sstream/ostringstream/

#include <sstream>

....

std::ostringstream names;
std::string delimiter = ",";
std::list<Names>::const_iterator it = pNames->begin();
if (it != pNames->cend())
{
    names << it->pNames;
    it++;
}
while(it != pNames->cend())
{
    names << delimiter << it->namesUser;
    ++it;
}
std::string result = names.str();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM