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

海口网站建设做网站cpancel面板搭建WordPress

海口网站建设做网站,cpancel面板搭建WordPress,创办一个网站的费用,北京个人注册公司掌握C20的革命性特性#xff1a;Concepts C20 的新特性 C20 引入了 Concepts#xff0c;这是一种用于限制类和函数模板的模板类型和非类型参数的命名要求。Concepts 是作为编译时评估的谓词#xff0c;用于验证传递给模板的模板参数。Concepts 的主要目的是使模板相关的编…掌握C20的革命性特性Concepts C20 的新特性 C20 引入了 Concepts这是一种用于限制类和函数模板的模板类型和非类型参数的命名要求。Concepts 是作为编译时评估的谓词用于验证传递给模板的模板参数。Concepts 的主要目的是使模板相关的编译器错误更易于人类阅读。 我们都遇到过这样的情况当为类或函数模板提供错误的参数时编译器会输出数百行错误信息。要从这些编译器错误中找到根本原因并不总是容易的。Concepts 允许编译器在某些类型约束不满足时输出更易读的错误消息。因此为了获得有意义的语义错误建议编写模拟语义要求的 Concepts。避免仅针对语法方面而没有任何语义意义的 Concepts 验证例如仅检查类型是否支持 operator 的 Concept。这样的 Concept 只会检查语法而不是语义。例如 std::string 支持 operator但显然它与整数的 operator 有完全不同的含义。另一方面如 sortable可排序和 swappable可交换等 Concepts 是模拟一些语义意义的好例子。 注意编写 Concepts 时请确保它们模拟语义而不仅仅是语法。 Concepts 的语法 定义 Concepts 的通用语法如下 template parameter-list concept concept-name constraints-expression;它以熟悉的 template 规范开始但与类和函数模板不同Concepts 永远不会被实例化。接下来使用一个新关键字 concept后跟 Concept 的名称。你可以使用任何你想要的名称。constraints-expression 可以是任何常量表达式即任何可以在编译时评估的表达式。约束表达式必须产生布尔值。约束永远不会在运行时评估。约束表达式将在下一节中详细讨论。 Concept 表达式的语法如下 concept-nameargument-listConcept 表达式评估为真或假。如果评估为真则称给定的模板参数模拟了该 Concept。 Constraints Expression 常量表达式 可直接用作 Concept 定义约束的布尔常量表达式必须精确地计算为布尔值不进行任何类型转换。例如 template typename T concept C sizeof(T) 4;Requires 表达式 Requires 表达式的语法如下 requires (parameter-list) { requirements; }参数列表是可选的。每个要求必须以分号结束。有四种类型的要求简单要求、类型要求、复合要求和嵌套要求。 简单要求 简单要求是任意不以 requires 开头的表达式语句。例如以下 Concept 定义规定了某种类型 T 必须支持后缀和前缀 操作符 template typename T concept Incrementable requires(T x) {x;x; };类型要求 类型要求验证某种类型是否有效。例如以下 Concept 要求某种类型 T 具有 value_type 成员 template typename T concept C requires {typename T::value_type; };复合要求 复合要求用于验证某事物不抛出异常以及/或验证某个方法返回特定类型。例如以下 Concept 验证给定类型具有标记为 noexcept 的 swap() 方法 template typename T concept C requires (T x, T y) {{ x.swap(y) } noexcept; };嵌套要求 Requires 表达式可以包含嵌套要求。例如这里是一个要求类型大小为 4 字节并支持前缀和后缀增量和减量操作的 Concept template typename T concept C requires (T t) {requires sizeof(t) 4;t;--t;t;t--; };Requires 表达式可以有多个参数并且可以由一系列要求组成。例如以下 Concept 要求类型 T 的实例是可比较的 template typename T concept Comparable requires(const T a, const T b) {{ a b } - convertible_tobool;{ a b } - convertible_tobool;// ... 对其他比较操作符的类似要求 ... };组合 Concept 表达式 使用逻辑运算符组合 现有的 Concept 表达式可以通过使用逻辑运算符“与”和“或”||来组合。例如假设您有一个类似于 Incrementable 的 Decrementable Concept以下示例展示了一个要求类型同时具备增量和减量能力的 Concept template typename T concept IncrementableAndDecrementable IncrementableT DecrementableT;预定义的标准 Concepts 标准库中的 Concepts 标准库定义了一系列预定义的 Concepts分为多个类别。以下列表给出了每个类别中的一些示例 Concepts所有这些都在 concepts 头文件和 std 命名空间中定义 核心语言 Conceptssame_as、derived_from、convertible_to、integral、floating_point、copy_constructible 等。比较 Conceptsequality_comparable、totally_ordered 等。对象 Conceptsmovable、copyable 等。可调用 Conceptsinvocable、predicate 等。 此外iterator 头文件定义了与迭代器相关的 Concepts如 random_access_iterator、forward_iterator 等还定义了算法要求如 mergeable、sortable、permutable 等。 C20 范围库还提供了一些标准 Concepts。第17章《理解迭代器和范围库》详细讨论了迭代器和范围而第20章更深入地探讨了标准库提供的算法。 使用标准 Concepts 如果这些标准 Concepts 满足您的需求您可以直接使用它们无需自己实现。例如以下 Concept 要求类型 T 是从类 Foo 派生的 template typename T concept IsDerivedFromFoo derived_fromT, Foo;以下 Concept 要求类型 T 可以转换为 bool template typename T concept IsConvertibleToBool convertible_toT, bool;这些标准 Concepts 也可以组合成更具体的 Concepts。例如以下 Concept 要求类型 T 既是默认构造的也是可拷贝构造的 template typename T concept DefaultAndCopyConstructible default_initializableT copy_constructibleT;注意编写完整且正确的 Concepts 并不总是容易的。如果可能尝试使用现有的标准 Concepts 或它们的组合来约束您的类型。
http://www.w-s-a.com/news/440044/

相关文章:

  • 企业网站优化问题接单app平台有哪些
  • 怎么做网站后缀识别符号才不会变什么是电子商务网站建设
  • 中山 五金 骏域网站建设专家专门用来制作网页的软件是什么
  • 怎么做刷东西的网站数据分析软件工具有哪些
  • 官方购物网站正品交易网站域名
  • lol网站建设seo 网站太小
  • 网站建设销售职责手机网站制作软件
  • 福州百度企业网站seo如何在电脑上登录wordpress
  • 开发区全力做好网站建设网络广告营销成功案例
  • 114网站建设高并发系统架构
  • php网站打开一片空白wordpress中文广告插件下载
  • 怎样建自己的网站免费的百度关键词排名点击
  • 医院网站建设的特点怎么查看网站百度快照
  • 网站 如何备案一般网站开发公司
  • 做网站的公司 贵阳郑州新像素ui设计培训收费
  • 温州网站建设公司电话给个免费的网址
  • 个人做电子商务网站备案软考高级
  • 淘宝客需要自己做网站吗四川遂宁做网站的公司
  • 编写网站策划书缘魁上海网站建设
  • 梧州外贸网站推广设计wordpress 上传 七牛
  • 增加网站备案千灯做网站
  • 深圳做网站的公php做简易网站
  • 徐州哪家做网站好商业空间设计效果图
  • 重庆建网站cqiezscom大学毕业做网站插画师好吗
  • 在门户网站做产品seo怎么样做网站管理员
  • 动画做视频在线观看网站字体安装+wordpress
  • vs2015网站开发做珠宝建个网站推广怎么样
  • 大桥外语官方网站星做宝贝佛山微信网站开发
  • 河南建设网站公司哪家好怎样做一家网站
  • 安阳市哪里做网站建设网站流量怎么赚钱