关键字 constexpr 于 C++11 中引入并于 C++14 中得到改善。它表示常数表达式。...
分类:
编程语言 时间:
2016-03-12 13:26:49
阅读次数:
221
---恢复内容开始--- constexpr:修饰常量表达式,约定修饰对象不仅为常量,而且在编译阶段就能得到值。 与const不同的是,constexpr约束的是当事人,就是说,constexpr int *a=1;这样的语句,a指针本身是const,并且右边也足够简单,而const int*a;这
分类:
编程语言 时间:
2016-03-02 20:00:43
阅读次数:
202
1.常量表达式constexpr:通常可用于修饰函数,变量以及构造函数等,以使得声明constexpr的关键字的函数和变量可以被用于编译时的计算。 2.constexpr元编程:是另一种编译时计算的手段(模板元编程),超越模板元编程的各种优势。 3.变长模板:C++引入的新的变长参数工具(远胜变长宏
分类:
其他好文 时间:
2016-02-17 19:06:26
阅读次数:
168
bool checkSame(std::string a, std::string b) { constexpr int size = 145; std::vector<int> count(145); std::for_each(a.cbegin (), a.cend (), [&](char c
分类:
其他好文 时间:
2016-02-15 07:02:41
阅读次数:
234
常量表达式(const expression):是指值不会改变并且在编译过程中就得到计算结果的表达式。(运行中得到结果的不能成为常量表达式)。 const int i=3; //是一个常量表达式 const int j=i+1; //是一个常量表达式 int k=...
分类:
编程语言 时间:
2016-01-17 12:21:35
阅读次数:
168
一、constexpr意义 将变量声明为constexpr类型以便由编译器来验证变量是否是一个常量表达式(不会改变,在编译过程中就能得到计算结果的表达式)。是一种比const更强的约束,这样可以得到更好的效率和安全性。二、constexpr用法 1.修饰函数/*1.如果size在编译时能确定,那.....
分类:
编程语言 时间:
2015-11-15 06:17:00
阅读次数:
459
C++11新特性继续。
Static assertion
static_assert 是在编译时期的断言,作用不言而喻的。
语法是这样:static_assert ( bool_constexpr , string ) 其中:
bool_constexpr: 常量表达式
string: 如果bool_constexpr表达式为false, 这个string就是编译时候报的错误。看...
分类:
编程语言 时间:
2015-11-12 11:55:49
阅读次数:
226
本文内容主要是关于 c++ primer 第五版的第5章到第十二章中涉及c++11内容的整理。主要涉及的是标准库提供的新的模板类及函数、constexpr、代理构造函数,并简要说明Lambda表达式。
分类:
编程语言 时间:
2015-09-03 09:14:24
阅读次数:
188
const(常量)限定符
const 定义的变量不能被改变,因此 const 对象必须初始化。
对象的类型决定了其上的操作,const 对象只能执行不改变其内容的操作。例如用一个对象初始化另一个对象并不会改变本对象的值,只是进行了一次拷贝而已,一但拷贝完成,新的对象和原本的对象就毫无瓜葛了。
默认情况下,const 对象仅在本文件内有效,当多个...
分类:
其他好文 时间:
2015-08-13 18:09:36
阅读次数:
138
c++ 11 游记 1(decltype constexpr)...
分类:
编程语言 时间:
2015-08-12 08:59:52
阅读次数:
159