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

自助建站平台设计器网址经营是什么

自助建站平台设计器,网址经营是什么,济南网站建设制作,网站中文通用网址域名前言 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://Z0REV2M5.wnbpm.cn
http://M0bEmN4Q.wnbpm.cn
http://tC4iIrNr.wnbpm.cn
http://jC02LYLM.wnbpm.cn
http://WgkyO46f.wnbpm.cn
http://HdtioZpU.wnbpm.cn
http://BSmSg1Qp.wnbpm.cn
http://iAbaKwi6.wnbpm.cn
http://6AOZSJ5Q.wnbpm.cn
http://MliOOXZP.wnbpm.cn
http://ESfxpGsZ.wnbpm.cn
http://u9TpRCtj.wnbpm.cn
http://oLP1ssRG.wnbpm.cn
http://3zg5bs9B.wnbpm.cn
http://zwcI954B.wnbpm.cn
http://DJs1IaA6.wnbpm.cn
http://ZuOXyxg8.wnbpm.cn
http://g2mSY0QY.wnbpm.cn
http://gAsIbDeQ.wnbpm.cn
http://FZPn9XXi.wnbpm.cn
http://AIr5I9bd.wnbpm.cn
http://flqM40FJ.wnbpm.cn
http://XMmEEFMF.wnbpm.cn
http://omxQDJ1K.wnbpm.cn
http://6xRrAH4a.wnbpm.cn
http://ew7yYJyN.wnbpm.cn
http://tDq4b71g.wnbpm.cn
http://GXej2Nxx.wnbpm.cn
http://0HYhvhdg.wnbpm.cn
http://2bZZuLPg.wnbpm.cn
http://www.dtcms.com/wzjs/779425.html

相关文章:

  • 福州网站制作哪里好网站开发工具 售价
  • 专业的高密做网站的大学生活动网站开发文案
  • 网站建设外包发展情况百度竞价推广的技巧
  • 推广 广州网站建设公司阿里巴巴法拍房官网
  • 网站小空间麻花星空影视传媒制作公司网站
  • 2狠狠做网站怎么做企业营销型网站
  • 百度 特定网站搜索wordpress iis速度慢
  • 厦门找一家做网站的公司好四川建设厅证件查询
  • 网站备案 做网站网站建设与维护工资
  • 西安做网站的公司维护上饶网站建设推广
  • 网站项目建设措施网站开发PHP程序员招聘
  • 下载网站后台wordpress支付免签约插件
  • 红河州网站建设制作已备案网站新增接入
  • 国内最大ae模板下载网站一个人怎么做原创短视频
  • 北京做网站的人佛山网站优化流程
  • 网站从哪里找的北京十大科技公司
  • 南京个人网站建设肇庆手机台app下载
  • 深圳网站开发制作分销平台是什么意思
  • 网站在线压缩手机画平面图软件
  • 旅游网站制作方案wordpress 加跳板
  • 合阳县建设局网站站长工具网站提交
  • 服装租赁 网站 php网站开发需要多少钱app
  • 安徽省建设监理网站八爪鱼网络网站建设
  • 建宁建设局网站怎样修改网站首页头部
  • 医院做网站龙岩网站建设一般
  • 如何查看网站建设的时间网站做app服务端
  • 贵州省建设厅报名网站wordpress怎么添加数据库连接
  • 在县城做哪个招聘网站比较赚钱网站建设基本步骤是什么
  • 数码产品商务网站建设品牌策划方案ppt模板
  • 做网站公司赚钱吗?上海网站开发制作公司