当前位置:首页 > C++ > 正文内容

C++常量

admin4年前 (2020-12-09)C++2102

关于常量的一些形式以及含义在此记录一下:

#include <iostream>
using namespace std;

int main()
{
	//常量,不能改变值
	const int a = 1;
	cout << a << endl;

	//常量可以通过常量指针来引用
	const int b = 10;
	const int* ptr_b = &b;
	cout << *ptr_b << endl;

	//不能改变常量指针指向的变量的值,*ptr_c = 10这样是错误的,但是可以改变指针指向的地址
	int c = 100;
	const int* ptr_c = &c;
	ptr_c = &a;
	cout << *ptr_c << endl;

	//功能与上面一样
	int d = 1000;
	int const* ptr_d = &d;
	cout << *ptr_d << endl;
	ptr_d = &c;

	//指针常量,不能修改指针指向的地址,ptr_e = &c是错误的,但是可以修改指向的变量的值
	int e = 10000;
	int* const ptr_e = &e;
	*ptr_e = 9999;

	//指向常量的指针常量,不能修改指向的指针地址,亦不能修改指向的变量的内容,即*ptr_f = c;和ptr_f = 9999;是错误的
	int f = 1000000;
	const int* const ptr_f = &f;

	//功能与上面一样
	int g = 10000000;
	int const* const ptr_g = &g;
}


扫描二维码推送至手机访问。

版权声明:本文由lovedm.club发布,如需转载请注明出处。

本文链接:https://lovedm.club/?id=107

分享给朋友:

“C++常量” 的相关文章

C++ vector 初始化

有几种初始化的方式,直接扔到代码里看了:#include <vector> #include <iostream> #include <algorithm> using namespace std;...

C++读取ASCII格式DEM数据

C++读取ASCII格式DEM数据

要使用OpenGL显示DEM,就把tif的DEM转成了ASCII格式的,用的是ArcMap工具箱里的栅格转ASCII,转出来的格式是这样的:用了6行来描述数据,如下:第一行:数据的列数ncols第二行:数据的行数 nrows第三行:数据左下角的X值xllcorner第四行:数据左下角的Y值yllco...

C++ 函数指针

1、什么是函数指针函数是实现特定功能的程序代码的集合,函数代码在内存中也要占据一段存储空间,这段空间的起始地址称为函数的入口地址。C++规定函数的入口地址为函数的指针,即函数名既代表函数,又是函数的指针(或地址)。C++指向函数的指针变量,定义形式为:返回类型 (*函数指针变量名)(形参列表);可以...

C++ 派生类的析构函数的执行顺序

C++ 派生类的析构函数的执行顺序

C++中派生类是不会继承父类的构造函数和析构函数的,这一点要明确。派生类中构造函数的执行顺序是先父类的构造函数然后当前类,析构函数则相反。举例如下:#include <iostream> using namespace std; class&nb...

C++ 拷贝构造函数

拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。通常用于:通过使用另一个同类型的对象来初始化新创建的对象。复制对象把它作为参数传递给函数。复制对象,并从函数返回这个对象。如果在类中没有定义拷贝构造函数,编译器会自行定义一个。如果类带有指针变量,并有...

C++ map使用

map是STL的容器,就是键值对的表示,其中键是唯一的,一个map里每个键都是唯一的不会重复,map的内部是使用红黑树实现的,所以内部是有序的。 下面代码没有注释,直接看了。 #include <iostream> #include <string> #include...