C++的vector用hash_map初始化?
voidfoo(hash_map<uint,double>&re){vector<pair<uint,double>>vec(re.begin(),re.end());v...
void foo(hash_map<uint, double> &re)
{
vector<pair<uint, double> > vec(re.begin(), re.end());
vector<pair<uint, double> > vec(re.begin(), re.end());
这句话是什么意思?
没见到过这种变量声明方式啊。。。 展开
{
vector<pair<uint, double> > vec(re.begin(), re.end());
vector<pair<uint, double> > vec(re.begin(), re.end());
这句话是什么意思?
没见到过这种变量声明方式啊。。。 展开
1个回答
展开全部
首先,
vector<pair<unit, double> > vec
声明了一个vector,其元素的类型是pair<uint, double>,这与hash_map<uint, double>的元素类型一致,都是uint到double的一对映射。
然后,
(re.begin(), re.end())
用两个迭代器来初始化刚声明的vector,初始化方式是遍历从re.begin()到re.end()之间的所有元素并加入vector中。
所以实际上的作用是将re中的所有元素放入vec中。
vector<pair<unit, double> > vec
声明了一个vector,其元素的类型是pair<uint, double>,这与hash_map<uint, double>的元素类型一致,都是uint到double的一对映射。
然后,
(re.begin(), re.end())
用两个迭代器来初始化刚声明的vector,初始化方式是遍历从re.begin()到re.end()之间的所有元素并加入vector中。
所以实际上的作用是将re中的所有元素放入vec中。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询