C++容器"set"中.second的意义
请教如下代码中,"!cand.insert(nums[i]).second"里的.second代表什么?.second==1是不是代表插入成功?...
请教如下代码中,"!cand.insert(nums[i]).second"里的.second代表什么?.second==1 是不是代表插入成功?
展开
1个回答
展开全部
set的带有一个键参数的insert版本函数返回pair类型对象,该对象包含一个迭代器和一个bool值,迭代器指向拥有该键的元素,而bool值表明是否添加了元素。
这里的second即是返回的pair里的bool值。
这里的second即是返回的pair里的bool值。
追问
我后来查了下cplusplus, 里面有个例子:
std::set myset;
std::pair::iterator,bool> ret;
ret = myset.insert(20);
if (ret.second==false) it=ret.first;
让我弄懂了我的猜测是对的。不过还是many thanks for your answer.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询