之所以开这一个板块,主要是为了区别c和c++,很多人学了很久c++,但是除了cout之外似乎什么都不懂,只有熟练掌握了这些新特性,才能成为一名合格的c++ programmer
当然,一些常见的新特性,网上千篇一律,我就不赘述了,请读者自己去网上查阅,主要记录一些相对少见但是很有用的新特性。
目录
头文件:
#include <numeric>
版本1:
template <class InputIterator1, class InputIterator2, class T>
T inner_product (InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, T init);
涉及泛型编程,传入参数一共有4个,
参数 | 说明 |
first1 | 第一个容器的某一个迭代器 |
last1 | 第一个容器的某一个迭代器,在first后面 |
first2 | 第二个容器的某一个迭代器 |
init | 初始值 |
作用:将first1到last1之间的对象(左闭右开),与first2及其对应位置的对象相乘,并且加上init
template<class InputIt1, class InputIt2, class T>
constexpr//根据有没有分成俩版本
T inner_product(InputIt1 first1, InputIt1 last1,
InputIt2 first2, T init)
{
while (first1 != last1) {
init = std::move(init) + *first1 *