常量表达式_ad 常量表达式

1.常量表达式,关键字constexpr。

2.此关键字将使用户能保证某个函数或构造器在编译期产生常量。如下:

  constexpr intGetFive()

  {

  return 5;

}

int some_value[GetFive() + 5]; //create an arrayof 10 integers. legal C++0x

这段代码将使编译器理解并确认GetFive是个编译期常量。

2.1在函数上使用constexpr将对函数功能施加严格的限制:

首先,函数必须返回非void类型。

常量表达式_ad 常量表达式

其次,函数体必须具有"return/expr/"的形式。

第三,expr在参数替换后必须是常量表达式。该常量表达式只能调用其他定义为constexpr的函数,只能使用其他常量表达式数据变量。

第四,常量表达式中一切形式的递归均被禁止。

最后,这种带constexpr的函数在编译单元中必须先定义后调用。

3.变量也可被定义为常量表达式值:

constexpr double forceOfGravity = 9.8;

  constexpr doublemoonGravity = forceOfGravity / 6;

常量表达式数据变量隐含为常量。它们只能存放常量表达式或常量表达式构造器的结果。

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/284285.html

更多阅读

C++11中的lambda表达式 c lambda表达式 linq

C++11添加了一项名为lambda表达式的新功能,通过这项功能可以编写内嵌的匿名函数,而不必编写独立函数和函数对象,使得代码更容易理解。lambda表达式的语法如下所示:[capture_block](parameters) exceptions_specification-> return_type

从不会到精通js正则表达式转 精通正则表达式 豆瓣

正则表达式可以:•测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证•替换文本。可以在文档中使用一个正则表达式来标识特定文

JS中正则表达式 js正则表达式数字

JS中正则表达式有几种不同的使用方法,一些用法是通过字符串对象来使用,另外一些通过正则表达式对象使用。一、RegExp(正则表达式)的属性和方法1、属性RegExp的实例有几个只读的属性:global表示是否为全局匹配,igoreCase表示是否忽略大小

声明:《常量表达式_ad 常量表达式》为网友船渡人分享!如侵犯到您的合法权益请联系我们删除