vector所有元素相加求和_利用accumulate函数

2024-08-30 23:32

本文主要是介绍vector所有元素相加求和_利用accumulate函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自己使用时的两行代码

#include<numeric>  //使用accumulate函数要包含这个头文件vector<float> result = {1.2, 2.3, 3.4};
float scoreSum = accumulate(result.begin(), result.end(), 0.0);

然后看一下http://www.cplusplus.com/reference/上面关于accumulate的介绍

函数原型:

sum (1)	
template <class InputIterator, class T>T accumulate (InputIterator first, InputIterator last, T init);
custom (2)	
template <class InputIterator, class T, class BinaryOperation>T accumulate (InputIterator first, InputIterator last, T init,BinaryOperation binary_op);
template <class InputIterator, class T>T accumulate (InputIterator first, InputIterator last, T init)
{while (first!=last) {init = init + *first;  // or: init=binary_op(init,*first) for the binary_op version++first;}return init;
}

示例: 

// accumulate example
#include <iostream>     // std::cout
#include <functional>   // std::minus
#include <numeric>      // std::accumulateint myfunction (int x, int y) {return x+2*y;}
struct myclass {int operator()(int x, int y) {return x+3*y;}
} myobject;int main () {int init = 100;int numbers[] = {10,20,30};std::cout << "using default accumulate: ";std::cout << std::accumulate(numbers,numbers+3,init);std::cout << '\n';std::cout << "using functional's minus: ";std::cout << std::accumulate (numbers, numbers+3, init, std::minus<int>());std::cout << '\n';std::cout << "using custom function: ";std::cout << std::accumulate (numbers, numbers+3, init, myfunction);std::cout << '\n';std::cout << "using custom object: ";std::cout << std::accumulate (numbers, numbers+3, init, myobject);std::cout << '\n';return 0;
}

输出结果:


using default accumulate: 160
using functional's minus: 40
using custom function: 220
using custom object: 280

 

这篇关于vector所有元素相加求和_利用accumulate函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1122239

相关文章

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

C#实现获得某个枚举的所有名称

《C#实现获得某个枚举的所有名称》这篇文章主要为大家详细介绍了C#如何实现获得某个枚举的所有名称,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... C#中获得某个枚举的所有名称using System;using System.Collections.Generic;usi

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出