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

北京中小企业网站建设好的seo平台

北京中小企业网站建设,好的seo平台,30日长春疫情,信息门户系统STL 适配器是一类特殊的组件,用于修改其他组件的接口,使其适配特定场景。它们本身不提供完整功能,而是通过包装现有组件来改变其行为。 文章目录 1.适配器1.三种主要容器适配器1.原理2.std::stack3.std::queue4.std::priority_queue 2.常见迭…

STL 适配器是一类特殊的组件,用于修改其他组件的接口,使其适配特定场景。它们本身不提供完整功能,而是通过包装现有组件来改变其行为。

文章目录

    • 1.适配器
      • 1.三种主要容器适配器
        • 1.原理
        • 2.std::stack
        • 3.std::queue
        • 4.std::priority_queue
      • 2.常见迭代器适配器
      • 3.函数适配器
        • 1.std::bind
        • 2.std::function

1.适配器

适配器是一种结构型设计模式,通过改变现有组件的接口,使其符合客户端的需求。在 STL 中,适配器主要分为三类:
1.容器适配器(Container Adapters)
2.迭代器适配器(Iterator Adapters)
3.函数适配器(Function Adapters)

1.三种主要容器适配器

1.原理

适配器内部持有一个被适配对象的实例,并通过转发调用其方法来实现新接口

2.std::stack

LIFO(后进先出)栈结构

std::stack默认使用std::deque作为底层容器,也可指定其他容器(需支持back()、push_back()、pop_back())

3.std::queue

FIFO(先进先出)队列结构

std::queue默认使用std::deque作为底层容器,也可指定其他容器(需支持front()、back()、push_back()、pop_front())

4.std::priority_queue

优先级队列(最大堆)

通常使用堆(如二叉堆)实现,保证插入和删除操作的时间复杂度为 O (log n)。

2.常见迭代器适配器

1.std::reverse_iterator 反向遍历容器
std::rbegin(v), std::rend(v)

2.std::back_insert_iterator 在容器尾部插入元素 std::back_inserter(v)

3.std::front_insert_iterator 在容器头部插入元素 std::front_inserter(l)

4.std::insert_iterator 在指定位置插入元素 std::inserter(v, pos)

5.std::move_iterator 将普通迭代器转换为移动迭代器 std::make_move_iterator(it)

3.函数适配器

1.std::bind

通用参数绑定和重排 bind(func, _1, 2)

template< class F, class… Args >/unspecified/ bind( F&& f, Args&&… args );

1.f:要绑定的可调用对象(函数、成员函数、函数对象等)。

2.args:要绑定的参数列表,可包含占位符(如 std::placeholders::_1)。

3.占位符(Placeholders)
std::placeholders::_1, _2, _3, … 表示新函数的第 1、2、3… 个参数:

2.std::function

std::function 是 C++11 引入的一种通用多态函数包装器,它可以存储、复制和调用任何可调用对象(函数、Lambda、函数指针、成员函数等)。

1.核心功能
1.类型擦除:将不同类型的可调用对象包装为统一接口。
2.多态存储:可以存储函数、Lambda、函数对象等。
3.延迟调用:存储可调用对象,在需要时执行。
std::function<int(int, int)> add

2.性能开销
1.类型擦除:运行时需动态查找调用目标,比直接调用慢约 20%。
2.堆分配:当存储的对象较大时,可能触发堆分配。

3.优化建议
1.优先使用 Lambda:直接传递 Lambda 而非 std::function,避免类型擦除。
2.小对象优先值传递:通过 std::function 存储小对象(如简单 Lambda)。
3.大对象使用引用:存储大对象时使用 std::function<void()> 和捕获列表。

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

相关文章:

  • 长沙专业网站建设公司排名seo实战教程
  • 余杭区住房与建设局网站曼联目前积分榜
  • 潍坊网站制作厂家廊坊关键词优化排名
  • 个人业余做网站怎么弄360免费建站
  • 贵州建设职业学院官方网站关键词怎么提取
  • 辽宁省高等级公路建设局网站百度搜索百度
  • 上海网站设计工作室销售平台
  • 山东天元集团有限公司win10系统优化
  • 个人网站设计与开发论文网站怎么优化
  • 制作网站背景怎么做自媒体seo是什么意思
  • 浙江外贸网站建设西安高端网站建设公司
  • 宠物店做网站的论文专业的seo搜索引擎优化培训
  • 做网站如何注意排版问题免费自己建网页
  • wordpress 注册显示密码 插件seo网站优化服务
  • 有没学做早餐的网站成人企业管理培训课程
  • 网站可视化后台世界杯积分榜排名
  • 小学做试卷的网站百度联盟项目看广告挣钱
  • 住房城乡建设委官方网站湖南seo优化哪家好
  • 乡镇网站个人做可以不开网站流程
  • 渭南市建网站北京seo顾问
  • 做抖音seo用哪些软件win7最好的优化软件
  • 湘潭网站推广今日军事头条
  • 江都建设银行网站哪些平台可以发广告
  • 江苏城乡与住房建设部网站软件开发培训学校
  • 济南新站seo外包拼多多seo搜索优化
  • 太原网站建设加王道下拉网络营销的现状及问题
  • 网站开发流程分为哪几个阶段seo网络推广优化教程
  • 网站做微信支付接口网站seo推广优化
  • 株洲市网站建设网络营销的概念和特征
  • web前端基础知识汇总seo一键优化