函数 |
您所在的位置:网站首页 › accumulate函数参数 › 函数 |
函数
项目06/16/2023
accumulate
通过计算连续部分和来计算指定范围内所有元素的总和,包括一些初始值。 或者,计算指定二元运算的连续部分结果的结果。 template Type accumulate( InputIterator first, InputIterator last, Type init); template Type accumulate( InputIterator first, InputIterator last, Type init, BinaryOperation binary_op); 参数first 输入迭代器,使用 binary_op 在要求和或合并的范围内寻址第一个元素。 last 输入迭代器,使用 binary_op 在要求和或合并的范围内寻址最后一个元素,即迭代累计中实际包含的最后一个元素之外的一个位置。 init 使用 binary_op 向其依次添加或合并每个元素的初始值。 binary_op 要应用于指定范围内每个元素的二元运算及其上一应用的结果。 返回值init 与指定范围内第一个模板函数的所有元素或第二个模板函数的所有元素的总和,将二元运算 binary_op 替代求和运算,应用于 (*PartialResult, in_iter) 的结果,其中 PartialResult 是该运算的上一应用的结果,in_iter 是指向范围内下一元素的迭代器。 备注初始值确保当范围为空时具有明确定义的结果,在这种情况下,将返回 init。 二元运算不需要具有关联性或可交换性。 将结果初始化为初始值 init,然后以迭代方式计算范围内的 result = binary_op(result, in_iter),其中 in_iter 是指向范围内每个连续元素的迭代器。 该范围必须有效,并且其复杂度与该范围的大小呈线性关系。 二元运算符的返回类型必须可转换为 Type,以确保在迭代期间闭包。 示例 // numeric_accum.cpp // compile with: /EHsc #include #include #include #include int main( ) { using namespace std; vector v1, v2(20); vector ::iterator iter1, iter2; int i; for (i = 1; i < 21; i++) { v1.push_back(i); } cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |