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

网站打开wordpressseo搜索引擎优化实训报告

网站打开wordpress,seo搜索引擎优化实训报告,wordpress 爬取,旅游网站建设风险C11 引入了constexpr关键字#xff0c;用于定义常量表达式#xff0c;从而使变量获得在编译阶段即可计算出结果的能力#xff0c;提高运行时的效率。 constexpr 的使用分两篇文章介绍#xff0c;今天这篇文章主要讲解什么是常量表达式和 constexpr 典型使用场景的前三种用…C11 引入了constexpr关键字用于定义常量表达式从而使变量获得在编译阶段即可计算出结果的能力提高运行时的效率。 constexpr 的使用分两篇文章介绍今天这篇文章主要讲解什么是常量表达式和 constexpr 典型使用场景的前三种用法。constexpr 在模板编程中的使用在下篇文章中进行讲述。 什么是常量表达式 常量表达式Constant Expression指的是值在编译时就已经确定并且在程序执行过程中不会改变的表达式。 在 C 中常量表达式可以用于定义编译时常量、数组的大小、整型模板参数、编译时断言等场合是提高程序效率、实现编译时计算的重要工具。 我们知道C 在定义数组的时候必须指定数组长度长度不能用变量指定。 int myArray[10]; // 正确 int myArray[6 4]; // 正确 int len 6; int myArray[len]; // 错误len 是变量这里的 len 可以使用常量表达式替代。 常量表达式的特点 编译时计算保证变量或函数在编译时被求值前提是所有参数或初始值也都是常量表达式。不变性一旦编译确定其值在程序运行期间不会改变。提高性能通过在编译时进行计算减少了运行时的计算负担。类型安全与预处理器宏相比常量表达式是类型安全的。 常量表达式的用途 定义常量提供编译时的常量定义如数组大小、枚举值等。模板编程作为模板参数尤其是非类型模板参数提供编译时的灵活性和强大功能。编译时断言配合 static_assert 使用进行编译时的条件检查。 constexpr 是对 C 中常量表达式概念的扩展它可以用于变量、函数以及构造函数等。除了具有上述常量表达式的特点constexpr 的使用范围更广。 constexpr 典型使用场景 定义常量用于定义编译时常量。编译时函数计算定义能在编译时求值的函数。用于类和构造函数在编译时创建对象。用于模板编程在模板元编程和编译时断言中使用根据编译时计算的结果做出决策。 1、定义常量 const int maxSize 100; // 基本的常量表达式 constexpr int limit maxSize 1; // 编译时常量表达式constexpr size_t arraySize 10; int myArray[arraySize]; // 使用常量表达式作为数组大小2、编译时函数计算 constexpr 还可以用于修饰函数的返回值这样的函数又称为「常量表达式函数」。 注意constexpr 函数体内的所有操作都必须是编译时确定的。一个函数要想成为常量表达式函数必须满足如下 4 个条件。 整个函数的函数体中除了可以包含 using 指令、typedef 语句以及 static_assert 断言外只能包含一条 return 返回语句。 该函数必须有返回值即函数的返回值类型不能是 void。 函数在使用之前必须有对应的定义语句。普通的函数调用只需要提前写好该函数的声明部分即可但常量表达式函数在使用前必须要有该函数的定义。 return 返回的表达式必须是常量表达式 constexpr int factorial(int n) {return n 1 ? 1 : (n * factorial(n - 1)); }int main() {constexpr int val factorial(5); // 在编译时计算5!static_assert(val 120, Factorial of 5 should be 120.); // 使用编译时断言验证结果return 0; } 3、用于类和构造函数 constexpr 也可以用于构造函数使得对象可以在编译时被创建。 注意constexpr 修饰类的构造函数时要求该构造函数的函数体必须为空采用初始化列表的方式为各个成员赋值且必须使用常量表达式。 前面提到constexpr 可用于修饰函数而类中的成员方法完全可以看做是「位于类这个命名空间中的函数」所以 constexpr 也可以修饰类中的成员函数只不过此函数必须满足前面提到的 4 个条件。 示例代码如下 class Point { public:constexpr Point(double xVal, double yVal) : x(xVal), y(yVal) {}constexpr double getX() const { return x; }constexpr double getY() const { return y; }private:double x, y; };int main() {constexpr Point p(9.5, 7.3); // 编译时创建Point对象static_assert(p.getX() 9.5, X should be 9.5.); // 编译时断言return 0; }总结 constexpr 使得编译时计算和常量定义更加灵活和强大有助于提高 C 程序的性能和类型安全。
http://www.pierceye.com/news/276152/

相关文章:

  • 沈阳市城乡建设网站wordpress全文
  • 冉冉科技网站建设网络教学平台网址
  • 深圳网站设计建设公司宁波易通建设网站
  • 许昌网站建设公司网站的空间和域名
  • 公司查询网站查询系统wordpress简书主题
  • 公司网站 钓鱼网站ui设计交付物都包含哪些
  • seo网站导航建设技巧精东影视传媒文化管理公司
  • 做白酒的网站怎么查网站建设是哪家公司
  • 网站域名密码免费网站推广产品
  • 网站建设一般要多少费用申请网站官网
  • 金融网站织梦模板二手车网站建设
  • 怎么自己写代码做网站做网站必须用域名吗
  • 重庆营销网站建设平台怎么添加wordpress模板
  • 网站赚取广告费深圳个人外贸网站建
  • 在线销售型的网站巢湖城市建设投资有限公司网站
  • 苏州高端网站建设设计程序源代码网站
  • 基本原理网站建设文档怎么做网站链接
  • 网站建设出售门户网站有哪些推广分类
  • 企业网站制作一般多少钱做ppt的兼职网站有哪些
  • 分公司可以建设网站淘宝联盟怎么推广
  • 苏州网站设计哪家公司好童程童美编程地址在哪里
  • 软文营销的成功案例百度优化怎么做
  • 公司网站开发怎么收费优化方案英语必修三
  • 网站改版阿里云怎么做网站301定向温州网站运营
  • 免费做简历网站有哪些网站建设与网页制作招聘
  • 怎么到国外网站去接模具订单做潍坊微信网站开发
  • 做船公司网站青海公司网站建设哪家好
  • 制作网站公司合同注意事项沈阳高端网站
  • 企业网站备案时间网站建设的服务和质量
  • 提供视频下载的网站建网站开发费用