C++学习笔记之---控制变化的const

//const与基本数据类型
//const与指针类型
#include <iostream>
using namespace std;
int main()
{
	const int x = 10;
	//x = 20;             此处会报错!!!const修饰其值改变不了
	return 0;
}

int main()
{
	//1.const int *p = NULL;  与 int const *p = NULL等价
	int x = 3, y = 4;
	const int *p = &x;
	p = &y;						//此处正确
	//*p = 4;此处为错误的

	//2.int *const p = NULL;
	int *const p = &x;
	//p = &y;                   此处报错

	//3、const int * cont p = NULL;
	const int *const p = &x;
	//此处改变不了的
	return 0;
}

例子:

#include <iostream>
using namespace std;
int main()
{
	const int x = 3;
	x = 5;

	int x = 3;
	const int y = x;
	y = 5;

	int x = 3;
	const int * y = &x;
	*y = 5;

	int x = 3, z = 4;
	int *const y = &x;
	y = &z;

	const int x = 3;
	const int &y = x;
	y = &z;
	return 0;
}

结果如图:

具体请查看错误信息:

代码如下:

#include <iostream>
using namespace std;
int main()
{
	const int x = 3;
	x = 5;
	return 0;
}

结果:

#include <iostream>
using namespace std;
int main()
{
	int x = 2;
	int y = 5;
	int const *p = &x;
	cout<<*p<<endl;
	p = &y;
	cout<<*p<<endl;
	return 0;
}

#include <iostream>
using namespace std;
int main()
{
	int x = 2;
	int y = 5;
	int const &z = x;
	z = 10;             //会报错
	x = 11;
	return 0;
}

//函数使用const

//函数使用const
#include <iostream>
using namespace std;
void fun(int &a, int &b)
{
	a = 10;
	b = 22;
}
//函数有问题
//不能赋值
/*
void fun1(const int &a, const int &b)
{
	a = 33;
	b = 44;
}
*/

int main()
{
	int x = 2;
	int y = 5;
	fun(x, y);
	cout<<"函数没有const修饰的结果是: "<< x <<" , "<< y <<endl;
	/*
	int v = 3;
	int w = 4;
	fun1(v, w);
	cout<<"函数没有const修饰的结果是: "<<v<<" , "<<w<<endl;
	*/
	return 0;
}

如果上例代码的注释去掉就会出现如下错误信息:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-08 07:30:46

C++学习笔记之---控制变化的const的相关文章

STM8S学习笔记-时钟控制1

1.图13可见,STM8S单片机主要有四种时钟源可供选择: 1).1-24MHz外部晶体振荡器(HSE). 2).最大24MHz外部时钟(HSE ext). 3).16MHz高速内部RC振荡器(HSI). 4).128KHz低速内部RC振荡器(LSI). 2.主时钟可以从这四种时钟源中任意切换,切换过程可通过自动切换和手动切换. 自动切换过程: CLK_SWCR |= 0x20;    //使能切换 CLK_SWR = 0xE1; //  (HSI----复位值) // (0xD2 ----LS

STM8S学习笔记-时钟控制2

今天把时钟系统的最后部分,时钟安全系统(CSS)和时钟输出功能(CCO),做一个简答的说明. 1.时钟安全系统(以下简称CSS) CSS功能很简单,就是监控HSE是否实效(如果系统使用HSE作为主时钟源),而自动切换到HSI/8作为主时钟源,从而避免系统停止运行. 如果使能CSSIEN,当主时钟失效,切换到HSI/8后可产生一个中断,这时可以改变HSI的分频,从而系统继续正常工作. 如果系统主时钟源不是HSE,则不用关心CSS. 2.时钟输出功能(以下简称CCO) CCO是MCU向外提供系统时钟

ES6学习笔记之变量声明let,const

最近用淘宝的weex做了个项目,最近稍微闲下来了.正好很久没有接触RN了,所以趁这个机会系统的学习一下ES6的相关知识. 孔子说:没有对比就没有伤害.所以我们要拿ES6和ES5好好对比的学习.这样才能明白es6是多少的好,积极的拥抱她! 1.let 用let声明的变量,只会在let命令所在的代码块内有效. let的块状作用域 我们来看一个简单的例子: 'use strict'; { let name = 'cloud'; var age = 21; } name;//ReferenceError

F# 学习笔记(流程控制)

流程控制关键字 if: let mutable x = 17*17 - 15*15 if x % 2 = 1 then x <- x - 1 while: [<EntryPoint>] let main argv = let nr_fib n = let mutable a,b,i = 1I,1I,1 while i < n do let t = b b <- a+b a <- t i <- i+1 a (nr_fib 10).ToString() |> p

Nginx学习笔记09控制转发的信息

在使用proxy_pass配置项时,可以使用以下配置来控制转发给后端主机的HTTP头信息. (1)proxy_pass_header 向后端主机转发客户端请求中的HTTP头部. (2)proxy_hide_header 向后端主机隐藏客户端请求中的HTTP头部. (3)proxy_set_header 向后端主机发送额外的HTTP头部,可以新增HTTP头部,或者修改已有的HTTP头部. 不使用proxy_xxx_header进行HTTP头部信息控制的情况: Nginx配置: location ~

php学习笔记-会话控制简单介绍session和cookie

session_stater();会话控制HTTP协议 在tcp协议基础上HTTP 协议称无状态协议SESSION的特点: 1存储在服务器: 2每个使用者都会生成一个session: 3有默认的过期时间大概是15分钟左右: 4session可以存储任意类型的数据: COOKIE的特点: 1存储在客户端: 2每个使用者都会生成一个cookie: 3默认没有过期时间的但你可以自己设置过期时间: 4只能存储字符串SESSION :安全 但对服务器要求太高:COOKIE:灵活 不安全session的使用

C++学习笔记_02 C++中的const和Java中的final关键字的区别

(1)final在java中定义常量,可作用于基本类型或者类类型,若是作用于类类型,则此类类型不能作为父 类被继承,也就是说它的下面不能有子类,这样的类叫做原子类.    C++中的const定义常量 (2)Java中的final如果是对于基本类型,那和C++的const是一样的    但是如果是对对象而言,不同了     (3)final表示这个句柄是不可改变的    final Object obj=(Object)new String("a");    obj=(Object)n

RHCE7学习笔记6——控制服务和后台进程

1.控制服务(services and daemons) RHEL7以前的版本控制服务使用service XX start|stop|status: [[email protected] ~]# service sshd status RHEL7控制服务使用systemctl start|stop|status|restart  XX服务,查看服务的当前运行状态使用is-active: [[email protected] ~]# systemctl status sshd [[email pr

RHCE7学习笔记28——控制服务和进程

一.RHEL6 和 RHEL7的服务控制方式不同 RHEL6中使用:service XXX  start|stop|restart|reload RHEL7中使用:systemctl start|stop|restart|reload XXXX 二.查看系统服务 查看系统中的后缀为service服务: [[email protected] ~]# systemctl list-unit-files --type=service 后缀为target的服务集,包含了后缀了service的服务,理解为