gpt4 book ai didi

C++ 映射 lower_bound()

转载 作者:行者123 更新时间:2023-11-30 04:00:12 26 4
gpt4 key购买 nike

我尝试在 C++ STL Map 中使用 lowerbound()。在我使用它之前,我通过如下程序测试它的功能:

int main ()
{
std::map<int,int> mymap;
std::map<int,int>::iterator itlow;

mymap[1]=20;
mymap[3]=60;
mymap[4]=80;
mymap[5]=100;

itlow=mymap.lower_bound (2);

//Test1
std::cout<<(--itlow)->first<<'\n'; //print 1
std::cout<<itlow->second<<'\n'; //print 20

//Test2
std::cout<<(--itlow)->first<<": "<<itlow->second<<'\n'; //print 1 : 60
}

我分别测试了 1 和 2 这意味着当我测试 1 时,我评论了 Test2 并且与反向相同。测试 1 的结果在我的预期之内,但我不明白为什么测试 2 为第二个字段打印 60 而不是 20?

最佳答案

未指定 (--itlow)->first 是在 itlow->second 之前还是之后求值。如果它之前被评估过,你会得到 20;否则,您将得到 60

参见 order of evaluation of operands .

关于C++ 映射 lower_bound(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26454352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com