这里我使用了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->second
和it->first
。
什么是正确的方法?
答案 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;