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

个人如何网站备案防止网站流量被刷

个人如何网站备案,防止网站流量被刷,seo网站编辑,网站建设难点std::ranges::views::common, std::ranges::common_view C20 引入的用于将范围适配为“通用范围”的工具#xff0c;主要解决某些算法需要传统迭代器对#xff08;如 begin 和 end 类型相同#xff09;的问题。 基本概念 1. 功能 适配传统算法#xff1a;将范围#x…std::ranges::views::common, std::ranges::common_view C20 引入的用于将范围适配为“通用范围”的工具主要解决某些算法需要传统迭代器对如 begin 和 end 类型相同的问题。 基本概念 1. 功能 适配传统算法将范围range的迭代器和哨兵sentinel类型统一使其适配需要“迭代器对”的旧式算法如 C17 之前的算法。类型一致性确保 begin() 和 end() 返回的迭代器类型相同。零开销原则仅在必要时添加类型转换无额外内存分配。 以下是详细说明和示例 核心概念 问题背景C20 的某些范围如 split_view的 begin 和 end 返回的迭代器类型可能不同但传统算法如 C17 前的算法需要它们类型相同。解决方案common_view 将范围适配为 begin 和 end 迭代器类型相同的“通用范围”。 std::ranges::common_view 定义templatestd::ranges::view V class common_view : public std::ranges::view_interfacecommon_viewV适用场景 当原始范围的迭代器和哨兵类型不同但需要转换为相同类型时。需要将范围传递给传统算法如接受 int* 和 int* 的算法。 语法与参数 1. 语法 auto common_view range | std::ranges::views::common;range输入范围如容器、视图。 示例 1适配 split_view #include ranges #include vector #include algorithm #include iostreamint main() {std::string str hello,world,cpp20;auto split str | std::views::split(,);// split 的迭代器和哨兵类型不同无法直接传递给传统算法// 使用 common_view 适配auto common_range split | std::views::common;// 现在可以像传统范围一样使用for (const auto part : common_range) {for (char c : part) std::cout c;std::cout \n;} }示例 2传递给传统算法 某些传统算法如 std::sort要求 begin() 和 end() 的迭代器类型严格一致但 C20 的某些范围如 std::ranges::iota_view可能返回不同类型的哨兵 示例 2处理子范围 #include ranges #include vector #include algorithm #include iostreamint main() {std::vectorint vec {1, 2, 3, 4, 5};auto reversed vec | std::views::reverse;// 传统算法需要 begin 和 end 类型相同// 使用 common_view 适配auto common_reversed reversed | std::views::common;// 使用 std::sort仅示例反转后排序可能无意义std::ranges::sort(common_reversed); // 需要迭代器类型相同for (int x : common_reversed) {std::cout x ; // 输出1 2 3 4 5排序后的反转} }std::ranges::views::common 定义范围适配器对象可通过管道操作符 | 简化 common_view 的创建。等效操作views::common(r) 等价于 common_viewviews::all_tdecltype(r){r}。 示例 3结合管道操作符 #include ranges #include iostream #include list #include algorithm // 必须包含此头文件以使用 std::findint main() {std::listint lst {1, 2, 3, 4, 5};auto even lst | std::views::filter([](int x) { return x % 2 0; });// 使用 views::common 适配auto common_even even | std::views::common;// 传递给传统算法 std::findif (std::find(common_even.begin(), common_even.end(), 4) ! common_even.end()) {std::cout Found 4\n;} }注意事项 性能common_view 可能引入额外开销如缓存迭代器需谨慎使用。适用性仅在需要传统迭代器对时使用现代算法如 std::ranges::sort通常不需要。生命周期确保底层范围的生命周期长于 common_view。 总结 common_view将 begin 和 end 迭代器类型不同的范围适配为类型相同的通用范围。views::common通过管道操作符简化 common_view 的创建。典型场景与传统算法交互或需要迭代器类型一致的操作。
http://www.zqtcl.cn/news/175138/

相关文章:

  • 北京电商网站建设公司新康家园网站建设
  • 广西注册公司网站企业高端网站制作
  • 国安中建建设集团网站南京网页设计培训班
  • 网站如何制作建设内容社交电商平台
  • 无法连接到wordpress站点网站建设两个方面
  • 广东官网网站建设品牌未来做啥网站能致富
  • 网站建设合同副本珠海微网站建设
  • wordpress 多语言 站点数据分析师报名入口
  • 做网站长尾词品牌设计模板
  • 企业建立网站的优势阿里云做网站号码
  • 江苏住房城乡建设厅网站一千块钱能注册公司吗
  • 山东兴华建设集团有限公司网站分类信息网站怎么做
  • 怎么用手机网站做软件西安网站建设开发熊掌号
  • asp.net做网站的流程杭州vi设计广告公司
  • 微信网站主题网络建设解决方案
  • 济南自助建站系统网站的外链建设计划
  • 中山低价网站建设一学一做教育视频网站有哪些内容
  • 网上最好的网站模块模板建站小程序
  • 安平县哪家做网站html动漫网站模板下载
  • 网站关于 模板wordpress adsence
  • 杭州公司网站建设如何选择五屏网站建设
  • 天津商城网站建设平面设计师网站
  • 上海的网站设计公司苏州网站建设渠道
  • 做美食没有广告的网站o2o网站建设
  • 网站程序调试模式怎么做做汽车特卖会的网站
  • 怎么有自己的网站政务公开网站建设方案
  • 济南装饰行业网站建设成都地区网站开发成本
  • 宁波产品网站设计模板网站建设需要通过哪些审批
  • 了解网站建设管理网站开发的可行性研究报告
  • 淄博网站设计策划方案公司中文域名.网站