Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我很好奇为什么 std::lower_bound() 要求通过比较函数的值而不是引用传递?
按值传递意味着需要一个副本,从而减慢速度;特别是,如果有人传入一个“大”比较函数对象。
许多(如果不是大多数)比较对象是无状态的并且几乎没有大小(尽管它们的大小不能为零)。传递引用实际上可能比按值传递无状态谓词更昂贵(特别是如果编译器能够完全省略副本)。