目录:

  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;
}

随机推荐

  1. 基于Memcached的Nginx服务器集群session共享

    原料:jdk1.8,tomcat7,nginx1.16,memcached-1.2.6,Mem-Tomcat需要的jar包,基于windows7.所有的点击以下链接可下载 链接:https://pan ...

  2. 说一说JS的IIFE

    1. 定义IIFE: Immediately Invoked Function Expression,意为立即调用的函数表达式,也就是说,声明函数的同时立即调用这个函数.对比一下,这是不采用IIFE时 ...

  3. 不卸载Nginx隐藏版本号

    [修改配置文件](不卸载Nginx隐藏版本号,直接修改配置文件) Linux环境: [root@localhost nginx-1.16.1]# curl -I http://10.56.1.115  ...

  4. JS数组的常用方法

    arr.join(str) 把arr使用str拼接成字符串 str拼接符 返回:String arr.reverse() 翻转数组 翻转操作的是原数组 返回:Array数组 arr.concat(ar ...

  5. 用C++验证三门问题

    三门问题(换门): #include <iostream> #include <cstdlib> #include <ctime> #define random(a ...

  6. .Net数据集导出到Excel样式细节---------------摘自别人的

    .Net数据集导出到Excel样式细节 本文的目的是总结一些在做Excel导出功能时需要注意的样式细节.使用环境是Asp.Net,数据集的形式是Html Table,Excel还是识别一些CSS代码的 ...

  7. zwx_helper 只用小括号()和中括号[ ] 轻松开发wxWidgets

    https://github.com/bbqz007/zhelper-wxWidgets https://github.com/bbqz007/zhelper-wxWidgets/tree/maste ...

  8. 移动端在ios上以及微信浏览器上的兼容性

    1.document.以及window.body在移动h5不能触发点击事件 解决方法:给body加上cursor: pointer;就可以有点击事件了. ios上默认的body是没有点击事件的: 接着 ...

  9. docker 日志查看与清洗

    Linux下查看磁盘与目录的容量——df.du df:列出文件系统的整体磁盘使用量: du:评估文件系统的磁盘使用量(常用于评估目录所占容量) df参数: -a:列出所有的文件系统,包括系统特有的/p ...

  10. Go 包管理中的常见问题

    随处可见的GO111MODULE=on 在GitHub上,经常看到不少项目的readme里都有这么一句: ✗ GO111MODULE=on go get golang.org/x/tools/gopl ...