C++迭代器列表

C++ Iterator List

本文关键字:列表 迭代器 C++      更新时间:2023-10-16

我有一个疑问。我有一个包含一些数据的对象列表(在本例中用于存储名称(。

我迭代列表:(p名称这是我的列表按参数接收(

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

问题:我需要将迭代器的所有值保存在 std::string 中,以便在 mysql 查询中使用此字符串(例如,从名称在 ('names'( 中的用户中选择年龄;)在这个带有"std::cout <<名称<<它的>名称用户;例如,我可以看到列表中的所有名称,但不能在查询中使用名称变量。它仅适用于 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();