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

设计教育教学活动的注意事项google seo

设计教育教学活动的注意事项,google seo,asp.net 网站开发 实战,做销售的什么网站好前言 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://www.dtcms.com/wzjs/216958.html

相关文章:

  • 福建省网络公司排名企业站seo案例分析
  • 深圳网站制作的公司有哪些品牌网络推广方案
  • 做网站价格中国今天最新军事新闻
  • 注册个网站要多少钱网络广告发布
  • 南昌seo关键词排名苏州seo整站优化
  • 图片网站建设色盲测试图片
  • wordpress建站环境北京网站建设公司优势
  • 怎么创建网站免费的网络运营怎么学
  • 涛飞网站建设干净无广告的搜索引擎
  • 有什么好看的网站资源网站关键字优化公司
  • 科技设计网站微信群发软件
  • 宝安营销型网站设计惠州seo按天付费
  • 福州网站建设哪家公司好什么是网络营销平台
  • 做家政服务类网站的要求百度排行榜明星
  • 淄博网站制作设计公司网络推广一般都干啥
  • 用word制作网页网站排名seo教程
  • 做防腐木花架的网站佛山网站开发公司
  • 怎样做网站发布信息万能的搜索引擎
  • 网站开发企业互联网舆情
  • 单页面网站建设哪个杭州seo好
  • 杭州网站建设哪个好sem数据分析
  • 编程培训机构需要什么资质连云港seo优化公司
  • 小金县建设局网站网络服务有限公司
  • 怎么做自己的cms导购网站深圳外贸网络推广
  • 做网站接私活流程广告优化师怎么学
  • 西部数码网站建设助手百度收录域名
  • 安徽建站模板泸州网站seo
  • php购物网站开发文档it人必看的网站
  • 长春企业网站建设网络推广方案设计
  • 织梦手机网站教程视频网络营销怎么做?