中国软件开发公司排行/崇左seo

中国软件开发公司排行,崇左seo,深圳住建网,昆明建网站要多少钱一、std::clamp() 其实在前面简单介绍过这个函数&#xff0c;但当时只是一个集中的说明&#xff0c;为了更好的理解std::clamp的应用&#xff0c;本篇再详细进行阐述一次。std::clamp在C17中其定义的方式为&#xff1a; template< class T > constexpr const T& cl…

一、std::clamp()

其实在前面简单介绍过这个函数,但当时只是一个集中的说明,为了更好的理解std::clamp的应用,本篇再详细进行阐述一次。std::clamp在C++17中其定义的方式为:

template< class T >
constexpr const T& clamp( const T& v, const T& lo, const T& hi );
template< class T, class Compare >
constexpr const T& clamp( const T& v, const T& lo, const T& hi,Compare comp );

说明文档中表明其使用“<”(c++20后使用less,所以T必须可<运算,否则未定义)或自定义comp来实现。无论使用哪种实现,其结果都是返回v(lo~hi范围内)或返回边界值(接近于v的lo或 hi)的引用。注意,如果lo和hi不可比较,则行为未定义。最简单的就是lo>hi,行为即未定义。

二、应用

std::clamp的出现,解决了一个很常见的问题,就是判断范围。这个功能说大不大,但用处非常多,比较在实际中判断电压、电流的值,判断亮度的值,判断数值的域等等,太多了。如果不使用它,就需要自己用if语句来搞定,没有难度,就是少写多写几行代码的事儿。

#include <algorithm>
#include <iostream>constexpr int HI = 1200;
constexpr int LO = 1;
struct Worker{int id = 0;bool operator < (const Worker&w)const{return id < w.id;}
};
int CompFun(const Worker&w1,const Worker&w2){return w1.id < w2.id;
}
int main()
{int v = 16;std::clamp(v, LO, HI);Worker loW {LO};Worker hiW {HI};Worker p1;p1.id = 10;std::cout<<"use compare func clamp value:"<< std::clamp(p1, loW, hiW,CompFun).id<<std::endl;Worker p2;p2.id = 11;std::cout<<" clamp value:"<< std::clamp(p2,loW,hiW).id<<std::endl;//std::cout<<" clamp value:"<< std::clamp(p2,hiW,loW).id<<std::endl;return 0;
}

大家可以猜一下,注释部分的结果,再和说明比较即可明白。

三、分析说明

虽然std::clamp方便简单,但在实践应用中,还是需要和实际场景结合,建议如下:
1、基础类型的判断处理可以转移到此函数中
2、复杂的比较要看情况,不一定非为了使用它搞一个小于运算符的重载
std::clamp之所以表现比较好,主要原因是其内联调用相关函数,对一些比较在底层进行了优化(包括编译优化和CPU优化等)。
不过从实际的经验来看,std::clamp对提高效率并不是太大,所以不需要盲目的应用特别是改写以前的比较代码。但在一些比较重视效率或控制代码的简洁程度上还是有很好的作用。

四、总结

AI在发展,库也在发展,会不会到最后,大家只要碎碎念一下,一个程序就出来?这种不是没有可能。但是这种可能,大概率可能需要相当长的时间。其实如果真到了那个地步,为什么还要写程序?机器人自己就搞定自己了。人类就享受一切即可。
不过到那时,可能大多数人活得更不如意!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【D2】神经网络初步学习

总结&#xff1a;学习了 PyTorch 中的基本概念和常用功能&#xff0c;张量&#xff08;Tensor&#xff09;的操作、自动微分&#xff08;Autograd&#xff09;、正向传播、反向传播。通过了解认识LeNet 模型&#xff0c;定义神经网络类&#xff0c;熟悉卷积神经网络的基本结构和…

DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件

1 DeepSeek处理自有业务的案例&#xff1a;让AI给你写一份小众编辑器(EverEdit)的语法着色文件 1.1 背景 AI能力再强&#xff0c;如果不能在企业的自有业务上产生助益&#xff0c;那基本也是一无是处。将企业的自有业务上传到线上训练&#xff0c;那是脑子进水的做法&#xff…

深入浅出Java反射:掌握动态编程的艺术

小程一言反射何为反射反射核心类反射的基本使用获取Class对象创建对象调用方法访问字段 示例程序应用场景优缺点分析优点缺点 注意 再深入一些反射与泛型反射与注解反射与动态代理反射与类加载器 结语 小程一言 本专栏是对Java知识点的总结。在学习Java的过程中&#xff0c;学习…

【算法与数据结构】并查集详解+题目

目录 一&#xff0c;什么是并查集 二&#xff0c;并查集的结构 三&#xff0c;并查集的代码实现 1&#xff0c;并查集的大致结构和初始化 2&#xff0c;find操作 3&#xff0c;Union操作 4&#xff0c;优化 小结&#xff1a; 四&#xff0c;并查集的应用场景 省份…

C语言简单练习题

文章目录 练习题一、计算n的阶乘bool类型 二、计算1!2!3!...10!三、计算数组arr中的元素个数二分法查找 四、动态打印字符Sleep()ms延时函数system("cls")清屏函数 五、模拟用户登录strcmp()函数 六、猜数字小游戏产生一个随机数randsrandRAND_MAX时间戳time() 示例 …

ShenNiusModularity项目源码学习(8:数据库操作)

ShenNiusModularity项目使用SqlSugar操作数据库。在ShenNius.Repository项目中定义了ServiceCollectionExtensions.AddSqlsugarSetup函数注册SqlSugar服务&#xff0c;并在ShenNius.Admin.API项目的ShenniusAdminApiModule.OnConfigureServices函数中调用&#xff0c;SqlSugar所…

MATLAB图像处理:图像特征概念及提取方法HOG、SIFT

图像特征是计算机视觉中用于描述图像内容的关键信息&#xff0c;其提取质量直接影响后续的目标检测、分类和匹配等任务性能。本文将系统解析 全局与局部特征的核心概念&#xff0c;深入讲解 HOG&#xff08;方向梯度直方图&#xff09;与SIFT&#xff08;尺度不变特征变换&…

小白win10安装并配置yt-dlp

需要yt-dlp和ffmpeg 注意存放路径最好都是全英文 win10安装并配置yt-dlp 一、下载1.下载yt-dlp2. fffmpeg下载 二、配置环境三、cmd操作四、yt-dlp下视频操作 一、下载 1.下载yt-dlp yt-dlp地址 找到win的压缩包点下载&#xff0c;并解压 2. fffmpeg下载 ffmpeg官方下载 …

【技术解析】MultiPatchFormer:多尺度时间序列预测的全新突破

今天给我大家带来一篇最新的时间序列预测论文——MultiPatchFormer。这篇论文提出了一种基于Transformer的创新模型&#xff0c;旨在解决时间序列预测中的关键挑战&#xff0c;特别是在处理多尺度时间依赖性和复杂通道间相关性时的难题。MultiPatchFormer通过引入一维卷积技术&…

145,【5】 buuctf web [GWCTF 2019]mypassword

进入靶场 修改了url后才到了注册页面 注测后再登录 查看源码 都点进去看看 有个反馈页面 再查看源码 又有收获 // 检查$feedback是否为数组 if (is_array($feedback)) {// 如果是数组&#xff0c;弹出提示框提示反馈不合法echo "<script>alert(反馈不合法);<…

晶闸管主要参数分析与损耗计算

1. 主要参数 断态正向可重复峰值电压 :是晶闸管在不损坏的情况下能够承受的正向最大阻断电压。断态正向不可重复峰值电压 :是晶闸管只有一次可以超过的正向最大阻断电压,一旦晶闸管超过此值就会损坏,一般情况下 反向可重复峰值电压 :是指晶闸管在不损坏的情况下能够承受的…

el-select 设置宽度 没效果

想实现下面的效果&#xff0c;一行两个&#xff0c;充满el-col12 然后设置了 width100%,当时一直没有效果 解决原因&#xff1a; el-form 添加了 inline 所以删除inline属性 即可

一款利器提升 StarRocks 表结构设计效率

CloudDM 个人版是一款数据库数据管理客户端工具&#xff0c;支持 StarRocks 可视化建表&#xff0c;创建表时可选择分桶、配置数据模型。目前版本持续更新&#xff0c;在修改 StarRocks 表结构方面进一步优化&#xff0c;大幅提升 StarRocks 表结构设计效率。当前 CloudDM 个人…

数量5 - 平面图形、立体几何

目录 一、平面几何问题1.三角形2.其他图形二、立体几何与特殊几何1.表面积2.体积3.等比放缩(简单)4.几何最值(简单)5.最短路径一、平面几何问题 平面图形: 立体图形: 1.三角形 特殊直角

CAS单点登录(第7版)7.授权

如有疑问&#xff0c;请看视频&#xff1a;CAS单点登录&#xff08;第7版&#xff09; 授权 概述 授权和访问管理 可以使用以下策略实施授权策略以保护 CAS 中的应用程序和依赖方。 服务访问策略 服务访问策略允许您定义授权和访问策略&#xff0c;以控制对向 CAS 注册的…

53倍性能提升!TiDB 全局索引如何优化分区表查询?

作者&#xff1a; Defined2014 原文来源&#xff1a; https://tidb.net/blog/7077577f 什么是 TiDB 全局索引 在 TiDB 中&#xff0c;全局索引是一种定义在分区表上的索引类型&#xff0c;它允许索引分区与表分区之间建立一对多的映射关系&#xff0c;即一个索引分区可以对…

I.MX6ull-I2C

一,I2C总线介绍 I2C(Inter-Integrated Circuit 集成电路)总线是Philips公司在八十年代初推出的一种串行、半双工的总 线&#xff0c;主要用于近距离、低速的芯片之间的通信&#xff1b;I2C总线有两根双向的信号线&#xff0c;一根数据线SDA用于收 发数据&#xff0c;一根时钟线…

书籍推荐:《书法课》林曦

记得樊登老师说过&#xff0c;如果你想了解一个事物&#xff0c;就去读5本相关的书&#xff0c;你会比大部分人都更了解它。这是我读的第4本和“书法”有关的书&#xff0c;作为一个零基础的成年人&#xff0c;林曦这本《书法课》非常值得一读。&#xff08;无论你是否写字&…

【大疆无人机地图测绘技术学习:高精度、高效率的全流程解决方案】

文章目录 大疆无人机地图测绘算法详解一、数据采集&#xff08;一&#xff09;飞行平台与传感器&#xff08;二&#xff09;航线规划&#xff08;三&#xff09;数据类型 二、数据处理与建模&#xff08;一&#xff09;数据导入与预处理&#xff08;二&#xff09;空三计算&…

工具资料+H3C 交换机常见故障分析排查+高危操作

当我们从客户那里接到一个故障时,我们根据现象让客户收集一堆信息,然后集成商、代理商、设备厂家一级一级的反复咨询与确认,天天经历这样的场景。几乎每个故障我们都要经过多个层级的人处理,信息的交流占据了每个人大部分的时间,反复的收集信息与确认问题现象也会让客户不厌其烦…