一:指针与constexpr
在定义一个指针时,可以添加一个constexpr关键字修饰,这样的指针称为constexpr指针;需要注意的是constexpr只对指针有效,与指针所指对象无关,这句话的意思是constexpr修饰的指针是一个指向变量的常对象,指针的方向不能改变,指向的对象可以改变
值得知道的一点是:constexpr指针时编译期常量,其指向定义时的初始值确定后不能发生改变,所以我们需要定义所有函数体之外的固定位置不变的,用来初始化constexpr指针,可以时全局变量,全局常量,静态变量等等
我们接下来可以用代码来表示:
#include <iostream>
using namespace std;
//指针与constexpr
int i = 10;//全局变量
constexpr int j = 10;//全局常量
int main01()
{
constexpr int *p = &i;
cout << *p << endl;
constexpr const int *q = &j;
cout << *q << endl;
static char x = 'X';//局部静态变量
constexpr char *m = &x;
cout << *m << endl;
system("pause");
return 0;
}
二:constexpr函数
其实我constexpr函数有一些地方还是很不清楚,所有也希望大佬们,能指点指点一下我
constexpr函数主要是指用于常量表达式的函数,我就记住的一点,它的返回值得是一个常量。
感谢大家的观看。