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

网站二维码可以做长按识别吗深圳专业网站建设制作价格低

网站二维码可以做长按识别吗,深圳专业网站建设制作价格低,搭建电商网站,门户网站开发是什么一、契约与概念 随着C新标准的演进中,对安全控制越来越严格,就会出现在不同层次上的安全控制约束。这也符合安全问题解决的思路即全链路控制、整体推进而不能出现所谓的木桶原理现象。本文就对C26中的契(合)约(Contra…

一、契约与概念

随着C++新标准的演进中,对安全控制越来越严格,就会出现在不同层次上的安全控制约束。这也符合安全问题解决的思路即全链路控制、整体推进而不能出现所谓的木桶原理现象。本文就对C++26中的契(合)约(Contracts)与C++20中的概念(Concepts)进行初步的分析和说明。

二、契约和概念的特点与不同

在前文分析过,契约更倾向于在运行时进行pre、post等进行条件限制而概念更多的是应用在模板编程中,主要目的是为了约束具体的模板编译条件。所以说二者的一个最重要的不同的在于契约重点是在运行时进行安全控制而概念重点在模板的编译时进行安全控制。
正如在相关文档中所描述,概念与契约是互不相见(Concepts Do Not See Contracts)。也即契约的安全控制无法影响概念的安全控制,这也符合设计思想的理论。
另外,契约一般是限制函数而概念主要是对模板参数进行控制。在出现异常状态时,契约既可以执行默认的行为也可以自定义行为;而概念则提供一个编译错误。
通过上而把 分析可以看出,契约和概念不是互斥的,它们是在不同的层面上对C++代码进行安全控制的,它们可以单独工作也可以一起合作进行协同,提高代码的安全可靠性。

三、二者的协同应用

基于上面的分析,在程序的设计和开发中,可以通过分层进行整体的安全控制:
1、在编译时使用Concepts而在运行时使用Contracts
2、对模板优先使用Concepts同时配合使用Contracts
3、可以配合Contracts中的忽略等情况减少或关闭检查,提高运行效率
二者的协同应用,能够更好的构建健壮、安全C++代码。

四、例程

看一个二者协同的例程:

#include <concepts>
#include <contracts>// Concepts约束
template<typename T>
concept NumCheck = std::integral<T> || std::floating_point<T>;// Contracts验证
template<NumCheck T>
T DivNum(T t1, T t2) pre(t2 != 0)             post( ret: ret >= 0 && ret <= 10)     
{contract_assert (t1 >= 2);               return (t1 / t2) * 10;
}int main() {auto ret = DivNum(7.0, 3.0);// err demo:// 编译错误(Concepts check)DivNum("abc", 5);// 运行时错误(Contracts check)DivNum(10, 0);return 0;
}

五、总结

真正的学会贯通一项技术,不是孤单的使用。而是要灵活的应用到各个场景下,与其它的相关技术协作互补,达到彰显优势,弥补劣势,取长补短,互通有无的境界。也就是常说的从单纯的僵化套用到思想上的有机结合。
一定要明白,任何技术都不是孤独的生长在荒漠上的。

http://www.dtcms.com/a/581445.html

相关文章:

  • 图片优化 上传图片压缩 npm包支持vue(react)框架开源插件 支持在线与本地
  • React Native CLI的搭建
  • 世界互联网大会乌镇峰会:共话数字未来新可能
  • TeamCity更新包
  • 第8届 AiDD峰会 深圳 | “AI+领域”线:解锁未来科技新图景
  • 网站搭建服务器需要多少钱网站运营seo招聘
  • 结构自由度
  • Effective Python 第49条:用__init_subclass__记录现有的子类
  • 《PLC编程与MES系统开发学习指南》详细大纲
  • AbMole小课堂丨L-NAME:一氧化氮合酶(NOS)经典抑制剂在心血管及免疫研究中的应用
  • 【AI入门】通俗易懂讲AI(初稿)
  • 静力水准仪监测核心原理:如何实现高精度沉降监测?
  • 谷歌网站为何打不开网站栏目定位
  • 基于西门子1500仿真软件PLCSIM Advanced 7.0的本机Modbus TCP通信实例之Modbus TCP Sever建立(一)
  • 虫虫wap建站源码the7企业中 英文wordpress模板
  • PHP 表单验证
  • 6-6〔O҉S҉C҉P҉ ◈ 研记〕❘ 客户端攻击▸利用Windows库文件进行攻击-2
  • SSM文创产品推荐系统设计与实现95ml5(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • WebSocket 核心 API 速查表
  • 多功能电脑PDF转换工具Icecream PDFv3.15 中文绿色便携版
  • 在线ftp传网站文件有空间域名服务器怎么做网站
  • 独立站的优势和劣势和运营技巧
  • 软考 系统架构设计师系列知识点之杂项集萃(192)
  • 在Vagrant 2.4.9中安装Rocky 9和Docker
  • 儿童网站设计百度怎么做自己网站
  • Mysql作业4
  • ComfyUI(8)--- 老照片修复(1)
  • 企业网站的首页网站备案 公司注销吗
  • 网站 功能呢如何制作apple pencil
  • php项目ueditor上传pdf文件,防止XSS攻击