首页 > 编程语言 > 详细

c 到 c++

时间:2020-04-22 10:44:59      阅读:54      评论:0      收藏:0      [点我收藏+]

目录:

??1、引用相关
??2、const关键字
??3、动态内存分配

1、引用相关:

/* 
		概念:某个变量的引用等价于这个变量的别名
		格式:类型名 & 引用名 = 某变量名  
		
		作用:
			1、 函数形参引用
			2、引用作为函数返回值 
			
		注意事项:
			1、定义引用时,一定要对其初始化 
			2、初始化后,不能再引用别地变量
			3、引用只能引用变量
			4、不能通过常引用去修改其引用的内容  
			
		常引用和非常引用的转换:
			const T和T &是不同的类型!!!
*/
//作用:
	//1、 函数形参引用
		void swap(int &a,int &b){
			int temp=a;
			a=b;
			b=temp;
		}	
	//2、引用作为函数返回值
	int &setvalue(){return n;} 
	int main() {
		setvalue()=40;//输出n结果为40
		cout<<n;
		return 0;
		//即对函数的赋值,等价于对返回值n赋值 
	}

2、const关键字

/*
	用法:
		1、定义常量
		2、定义常量指针
			(a)不可通过常量指针修改其指向的内容
			(b)不能把常量指针赋值给非常量指针,反过来可以 
			(c)函数参数为常量指针是,可避免函数内部不小心改变参数指针所指地方的内容 
		3、定义常引用
			(a)不能通过常引用修改其引用变量 
*/

	//2、定义常量指针:
		//(a)不可通过常量指针修改其指向的内容
		 int n,m;
		 const int *p=&n;
		 *p=5;//编译出错 
		 4=5;//ok 
		 p=&m;//ok,常量指针指向的地址可以改变
		
		//(b)不能把常量指针赋值给非常量指针,反过来可以 
		 const int *p1;
		 int *p2;
		 p1=p2;//ok
		 p2=p1//error
		 p2=(int *)p1;//ok,强制转换后可以
		 
		//(c)函数参数为常量指针是,可避免函数内部不小心改变参数指针所指地方的内容
		 void MyPrintf(const char*p){
		 	strcpy(p,"this");//编译出错 
		 	printf("%s",p);//ok 
		 }
		 
	//3、定义常引用
		//(a)不能通过常引用修改其引用变量  
		 int n;
		 const int &r=n;
		 r=5;//error
		 n=4;//ok

3、动态内存分配

/*
		news用法:
			1、分配一个变量
				p=new T; 
			2、分配一个数组
				p=new T[N];
		配套操作:delete 		 
*/ 

#include<iostream>
using namespace std;
int main(){
	//new用法:
		//1、分配一个变量
		 int *pn;
		 pn=new int;
		 *pn=5;
		 delete p;//释放内容 
		//2、分配一个数组
		 int *pn;
		 int i=5;
		 pn=new int[i*20]; 
		 delete[]p;//delete [] 指针 
	return 0;
}

c 到 c++

原文:https://www.cnblogs.com/yifeianyi/p/12750354.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!