当前位置: 首页 > news >正文

深圳响应式设计企业网站淄博网站建设网站推广优化

深圳响应式设计企业网站,淄博网站建设网站推广优化,黄岛网站建设负面消息处理,com域名为什么那么贵std::transform是C标准库中的一个算法,它用于对输入范围内的元素进行操作,并将结果存储在输出范围内。这个算法特别适合于将一种数据类型转换为另一种数据类型。 函数定义在头文件algorithm中 std::transform的基本语法如下: std::transfor…

std::transform是C++标准库中的一个算法,它用于对输入范围内的元素进行操作,并将结果存储在输出范围内。这个算法特别适合于将一种数据类型转换为另一种数据类型。
函数定义在头文件algorithm中

std::transform的基本语法如下:

std::transform(InputIt first1, InputIt last1, OutputIt d_first, UnaryOperation 
unary_op);

或者

std::transform(InputIt1 first1, InputIt1 last1, InputIt2 first2, OutputIt d_first, BinaryOperation binary_op);

其中:

  • first1 和 last1 是输入范围的迭代器,指定了要进行操作的元素范围。
  • d_first 是输出范围的起始迭代器,std::transform将结果存储在此位置开始的位置。
  • unary_op 是一个一元操作函数(或函数指针、函数对象),它定义了对输入元素进行操作的方式。
  • binary_op 是一个二元操作函数(或函数指针、函数对象),它定义了如何将两个输入元素操作以产生一个输出元素。


下面是一个简单的例子,我们将使用 std::transform 将一个输入范围中的每个元素乘以2,并将结果存储在输出范围中:

#include <algorithm>  
#include <vector>  
#include <iostream>  
#include <iterator>int main() {  // int数组处理,每个项乘以10std::vector<int> inputs = {1, 2, 3, 4};std::vector<int> outputs(inputs.size());// 使用transform处理std::transform(inputs.begin(), inputs.end(), outputs.begin(), [](int x){return x*10;});// 输出std::copy(outputs.begin(), outputs.end(), std::ostream_iterator<int>(std::cout, " "));std::cout << std::endl;std::string str =  "hello world!";// 将string转大写std::transform(str.begin(), str.end(), str.begin(), [](unsigned char c){return std::toupper(c);});// 输出std::copy(str.begin(), str.end(), std::ostream_iterator<unsigned char>(std::cout, " "));std::cout << std::endl;std::vector<std::string> sinputs = {"abc", "jhk", "hello", "workd"};std::vector<std::string> soutpus(sinputs.size());// 将string数组转大写std::transform(sinputs.begin(), sinputs.end(), soutpus.begin(), [](std::string s){ for(auto &el : s)el = std::toupper(el); return s;});// 输出std::copy(soutpus.begin(), soutpus.end(), std::ostream_iterator<std::string>(std::cout, ","));std::cout << std::endl;return 0;  
}

在这个例子中,我们使用了一个 lambda 函数 [](int x) { return x * 2; } 作为一元操作函数。这个 lambda 函数接收一个整数参数 x,并返回 x * 2。我们把这个 lambda 函数传递给 std::transform,以便它能够对输入范围中的每个元素执行这个操作。然后,结果被存储在 output 向量中。

运行上述程序,你将看到输出:2 4 6 8 10,这是输入范围中的每个元素乘以2后的结果。

http://www.yayakq.cn/news/416383/

相关文章:

  • 广州网站制作怎样网络营销的基本特点
  • 网站模板助手网站排名优化技术
  • 免费中文网站模板成都公众号小程序开发
  • 网站建设 500强建站网络架构师工资一般多少
  • 做搜狗网站点击公司网站购买主机
  • 以前的网站忘了怎么办啊深圳网站建设知名公司
  • 企业网站建设的意义和效果做网站需要哪些成本
  • shopify做国内网站windows装wordpress
  • 长春网站长春网络推广建设注册科技有限公司可以做网站吗
  • 河南省建设厅网网站首页wordpress主题免费和付费
  • 南山网站建设 信科网络wordpress设置新页面
  • 封丘县建站塔山双喜室内设计个人工作室
  • 文化网站建设福州精美个人网站建设公司
  • 大潮建设集团有限公司 网站如何建设 linux 网站
  • 坑人网站怎么做公司名字logo免费设计
  • 邢台学校网站建设报价做网站空间和服务器的
  • 网站建设运营与维护标准广东省网站建设网站
  • 视频直播网站建设费用wordpress postmeta
  • 做教育网站网站推广见效快的方法
  • 做混剪素材下载网站长春百度网站优化
  • 给彩票网站做排名违法吗网站建设方案选公司
  • 珠海网站建设zhkmkj校园二手书交易网站开发
  • 做包装设计的网站有哪些寿光建设银行光明路网站
  • 外贸企业商城网站建设wordpress取消置顶
  • 简创网站建设费用为企业做一件小事
  • 网站快速优化排名网络维护电话
  • 2017自己做网站的趋势湛江电气建站软件
  • 桂平网页设计杭州seo的优化
  • 可以绑定域名的免费网站动物园网站建设的可行性分析
  • 搭建网站需要钱吗亚马逊跨境电商官网