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

做数学题网站百度指数需求图谱

做数学题网站,百度指数需求图谱,怎么做外围网站的代理,装饰公司网站规划方案文章目录 一、背景介绍二、ranges::range_adaptor_closure 的定义与要求三、使用示例四、编译器支持情况五、总结 一、背景介绍 C23 引入了 std::ranges::range_adaptor_closure,这是一个辅助类模板,用于定义用户自定义的范围适配器闭包对象。这一特性主…

文章目录

        • 一、背景介绍
        • 二、`ranges::range_adaptor_closure` 的定义与要求
        • 三、使用示例
        • 四、编译器支持情况
        • 五、总结

一、背景介绍

C++23 引入了 std::ranges::range_adaptor_closure,这是一个辅助类模板,用于定义用户自定义的范围适配器闭包对象。这一特性主要来源于 P2387R3 提案,旨在支持用户定义的范围适配器与标准库视图适配器在管道表达式中的互操作。

二、ranges::range_adaptor_closure 的定义与要求

std::ranges::range_adaptor_closure 是一个类模板,用于确保用户定义的类型 T 是一个范围适配器闭包对象。具体要求如下:

  1. 单参数函数对象T 必须是一个单参数函数对象,接受一个范围作为参数。
  2. 单一基类T 必须恰好有一个公共基类 std::ranges::range_adaptor_closure<T>,且不能有其他类型的 std::ranges::range_adaptor_closure<U> 作为基类。
  3. 非范围类型T 本身不能是一个范围。
三、使用示例

以下是一个使用 std::ranges::range_adaptor_closure 的示例,展示如何定义一个简单的范围适配器闭包对象:

#include <ranges>
#include <string_view>
#include <iostream>// 定义一个范围适配器闭包对象
struct Slice : std::ranges::range_adaptor_closure<Slice>
{std::size_t start = 0;std::size_t end = std::string_view::npos;constexpr std::string_view operator()(std::string_view sv) const{return sv.substr(start, end - start);}
};int main()
{constexpr std::string_view str = "01234567";// 使用 Slice 作为普通函数对象constexpr Slice slicer{.start = 1, .end = 6};constexpr auto sv1 = slicer(str);std::cout << "sv1: " << sv1 << std::endl;// 使用 Slice 作为范围适配器闭包对象constexpr auto sv2 = str | slicer;std::cout << "sv2: " << sv2 << std::endl;// 范围适配器闭包可以组合constexpr auto slice_and_drop = slicer | std::views::drop(2);std::cout << "slice_and_drop: " << str | slice_and_drop << std::endl;
}
四、编译器支持情况

截至 2023 年 5 月,主流编译器对 std::ranges::range_adaptor_closure 的支持情况如下:

编译器支持情况
GCC libstdc++13(部分支持),14 完全支持
Clang libc++19 完全支持
MSVC STL19.34 完全支持
Apple Clang未明确支持
五、总结

C++23 的 std::ranges::range_adaptor_closure 提供了一种强大的机制,允许开发者定义自己的范围适配器闭包对象,并与标准库中的视图适配器无缝互操作。这一特性极大地增强了 C++ 范围库的灵活性和表达能力,使得范围操作更加简洁和高效。

http://www.dtcms.com/wzjs/65974.html

相关文章:

  • 湖南省城乡住房建设厅网站谷歌app下载 安卓
  • 定制营销型网站公司关键词查找
  • 好看网电影网站模板免费下载网络推广公司是干嘛的
  • 发稿人是什么意思百度ocpc如何优化
  • 网站字体排版技巧广告文案
  • 用java做网站的步骤营销培训课程有哪些
  • 大兴网站建设服务公司什么软件可以排名次
  • 黑龙江高端网站建设太原seo排名外包
  • 网站登录界面源码推广平台网站
  • wordpress开源程序建站教程微信广告平台推广
  • 网站美工切图是如何做的seo如何优化一个网站
  • 中国小说网站策划与建设成人再就业技能培训班
  • 河北新亚建设集团网站如何做个人网站
  • wordpress 上传 阿里云网络推广优化
  • 我想自己做的知道网站域名注册后怎么使用
  • 怎么设置自己做的网站怎么做网络推广
  • 做网站开发需要学什么软件网站搜索优化价格
  • 中国建筑资讯网河北百度推广seo
  • 淘宝网网页seo如何提升排名收录
  • 建设网络强国征文seo排名点击
  • 北京市住房城乡建设委员会官方网站北京网络营销推广外包
  • 在网站上做教学直播平台多少钱青岛网站建设方案服务
  • 威海建设委员会网站百度网站官网入口
  • 河南省建设厅官方网站页面关键词优化
  • 如果启动浏览器就能直接打开一个常用的网站主页_要怎么做?seo的作用是什么
  • 西安企业建站营销策划书
  • 石家庄网站建设备案seo性能优化
  • 娱乐类网站软文代写
  • 网页制作与网站建设设计价格目前在哪个平台做推广好
  • 云平台网站优化网站推广seo