
其他
viias
这个作者很懒,什么都没留下…
展开
-
EC3-34 注意哪个算法需要有序区间
STL中的一些算法默认区间是有序的,忽视这个条件可能会导致编译器报错,甚至更糟的情况:编译运行正常但返回错误答案。以下11个算法必须保证给出的区间是有序的,否则会造成未定义的运行期行为:binary_search,lower_bound,upper_bound,equal_range,set_union,set_intersection,set_difference,set_symmetric_...原创 2019-06-21 10:37:06 · 113 阅读 · 0 评论 -
EC3-36 了解copy_if的正确实现
STL中由于一些原因,没有copy_if,以下是copy_if的一种正确实现:template<typename InputIterator, typename OutputIterator, typename Predicate>OutputIterator copy_if(InputIterator begin, InputIterator end, OutputIterato...原创 2019-06-21 11:06:26 · 138 阅读 · 0 评论 -
EC3-37 用accumulate或for_each来统计区间
需要用一些灵活的自定义的方式统计区间时可以用accumulate或for_each(accumulate在中)。accumulate的简单用法:vector<int> v = {1, 2, 3, 4, 5};int sum = accumulate(v.begin(), v.end(), 0);//求和 sum=15复杂一些的例子,计算二维点的平均值,Point定义如下:s...原创 2019-06-21 11:12:42 · 174 阅读 · 0 评论 -
EC3-1:Choose your containers with care
C++提供了一些容器:标准STL序列容器:vector, string, deque, list.标准STL关联容器:set, multiset, map, multimap.非标准序列容器:slist, rope.非标准关联容器:hash_set, hash_multiset, hash_map, hash_multimap.vector<char>作为string的替代(...原创 2019-07-07 12:06:56 · 221 阅读 · 0 评论