返回multimap的内容

时间:2013-09-01 09:57:45

标签: c++ c vector multimap

这里我使用了multimap,并在底部打印了它的内容。

通常我只使用数组并轻松返回并获取数组内容。

喜欢:

void main(){
char *ch;
ch=client(); //function call 
//Now we can get ch[0]...
}

char function client()
{
char ar[2]
....
return ar;
}

我可以以类似的方式使用multimap吗?因为我想在同一时刻返回string和int值。并使用套接字编程,因此它将使用send和recv()方法发送和接收。

std::multimap<int,std::string>::iterator it = dst.begin();
for(int count = 0;count<3 && it !=dst.end();++it,++count)
   std::cout<<it->second<<":"<<it->first<<std::endl;

在此代码中,我想发送it->secondit->first。 什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

是的,这将有效,但更喜欢使用const ierator。正如const建议的那样(至少在最近的编译器和库中)也是线程安全的。所以更喜欢:

std::multimap<int,std::string>::const_iterator it = dst.cbegin();
for(int count = 0;count<3 && it !=dst.cend();++it,++count)
   std::cout<<it->second<<":"<<it->first<<std::endl;