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

人人商城程序做的网站打不开php 网站开发框架ap

人人商城程序做的网站打不开,php 网站开发框架ap,wordpress定时任务,哈尔滨市工程建设项目网前言 constexpr是c11引入的关键字,其和const都是用来定义常量的,本文将详解两者的区别。 在我的博客中查看本文章 const const一般用于修饰变量、引用、指针,标记它们为常量。然而,const并未区分编译期常量和运行期常量&#x…

前言

constexpr是c++11引入的关键字,其和const都是用来定义常量的,本文将详解两者的区别。
在我的博客中查看本文章

const

const一般用于修饰变量、引用、指针,标记它们为常量。然而,const并未区分编译期常量和运行期常量,只能保证变量运行时不被直接修改。

const变量,其值不能发生改变:

const int x = 100; // 常量
x = 200; // 无法通过编译

const引用,无法通过引用修改变量的值:

int x = 10;
const int& ref = x;
// ref = 20; // 无法通过编译
x = 20; // 通过编译
cout << "ref = " << ref << endl; // 输出:ref = 20。虽然不能通过ref直接修改变量值,但可以通过x修改

const引用,不能通过指针修改其所指向的值,但指针本身可以指向其他的地址:

int a = 10;
int b = 20;
const int* ptr = &a;
// *ptr = 5; // 错误,不能修改指针指向变量的值
ptr = &b; // 正确,可以修改指针指向

指向常量的指针的指向可以发生改变,若要限制指针本身为常量,需要调整const的位置:

int* const ptr = &a; // 指针地址不能改变,但是可以通过指针修改指向变量的值
const int* const ptr2 = &a; // 指向常量的常量指针,既不能通过指针修改值,也不能修改指针地址

此外,const还能修饰成员函数,表明该函数不会修改对象的状态(成员变量):

class TestClass {
private:const long MAX_SIZE = 256;;int m_value;public:int get_value() const {m_value = 100; // 错误,不能修改成员变量的值return m_value;}
}

constexpr

const并没有区分编译期常量和运行期常量,我们用下面这个例子来说明:

#include <cstdlib>int getValue() {return rand() % 100;
}int main() {const int x = getValue();  // x 是 const,但不是编译期常量int arr[x];                // 错误:x 不是编译期常量,不能做数组大小
}

编译期程序还没开始运行,只有字面值常量可以确定

运行期所有表达式都能求值

constexpr即constant expression(常量表达式),进一步将修饰的内容限定为编译期常量。

constexpr修饰变量时,编译器能在编译时确定变量值:

constexpr int x = 5; // 编译期常量
int arr[x];          // 数组大小合法

constexpr修饰函数时,当其参数是constexpr时,函数会生成编译期常量。而使用非constexpr变量调用时,在运行时生成值:

constexpr int square(int x) {return x * x;
}constexpr int val = square(10); // 编译期求值

非constexpr值,则当做普通函数使用:

constexpr int square(int x) {return x * x;
}int x = rand();
int y = square(x); // 合法,作为普通函数使用

参考

C++ 中让人头晕的const & constexpr
constexpr (C++)


文章转载自:

http://Fp7vECif.snccL.cn
http://p2IhWNoR.snccL.cn
http://PBtRJNWJ.snccL.cn
http://CL04KPC1.snccL.cn
http://9UvJfjnc.snccL.cn
http://YexzhdA9.snccL.cn
http://vQWuwKrd.snccL.cn
http://dT705pKg.snccL.cn
http://JcT95boN.snccL.cn
http://Oj9IC8PG.snccL.cn
http://Y3CJonwC.snccL.cn
http://YKZtK2cK.snccL.cn
http://J4uLvOXl.snccL.cn
http://X5nznbMg.snccL.cn
http://fSbdSQuJ.snccL.cn
http://f0rF9YGr.snccL.cn
http://6bwmMOvH.snccL.cn
http://nW5395BG.snccL.cn
http://61Q7XlXQ.snccL.cn
http://GfQ6B8EA.snccL.cn
http://mL3mtK2B.snccL.cn
http://gD8Ak4z7.snccL.cn
http://9k3KXk86.snccL.cn
http://5e5Zskts.snccL.cn
http://1ZaZmjh6.snccL.cn
http://Pmwq9XpY.snccL.cn
http://Y4evPkSV.snccL.cn
http://IsOAYJDe.snccL.cn
http://t57B8B2p.snccL.cn
http://X5UCQSEP.snccL.cn
http://www.dtcms.com/wzjs/627802.html

相关文章:

  • 手机网站设计公司有哪些手机怎么样做网站
  • 学校网站建设方案及报价优秀设计集锦网站
  • 北京网站制作官网市场营销策划合同模板
  • 网站的空间是什么网页设计公司的市场定位
  • 洛阳做网站公司有哪些衡水做网站推广找谁
  • 如果在网站做推广连接移动网站开发流行
  • 开发网站需要时间网站后台登录密码修改
  • 怎样做模具钢网站网络规划设计师考试资料百度云
  • 福州专业网站制作的公司化妆品网站优化
  • 网站关键词筛选阿里云主机怎么做两个网站
  • 网站建设中 模板商业网站建设案例课程
  • 青岛网站做网站多少钱中小企业网络构建
  • 响应式自适应织梦网站模板群晖nda做网站
  • 苏州做公司网站设计的公司建设网站需要机房吗
  • 网站建设营销型需要网站建设的人多吗
  • 北京做手机网站的公司网业加速器
  • 通辽市北京网站建设广告联盟有哪些
  • 网站怎样优化seo每平每屋在线设计家官网
  • 欧洲网站设计泰安市人才网官网
  • 网站 竞争分析西安有什么好玩的地方景点推荐
  • 首饰网站建设策划案做网站怎么赚钱 111
  • 哈尔滨自助模板建站咸宁网站制作公司
  • 网站建设费用明细 xls编程免费自学网站
  • 上国外网站的dns做网站可以使用rem单位吗
  • 做网站费用分几块沈阳专业网站制作设计
  • 南通网站推广排名北欧风格装修效果图
  • 网站建设教程学习aspx网站跳转代码
  • 2小时学会php网站建设wordpress 制作网站
  • 网站 谁建设谁负责php网站做安卓客户端
  • 网站群建设优点公司注册网上怎样注册