c++中的引用和指针的区别和相关例子
来源:互联网 发布:手机淘宝开店不了 编辑:程序博客网 时间:2024/05/02 02:28
using namespace std;
//引用和指针的区别 c语言中没有引用的概念
//1 引用就是给变量起一个别名一个引用只能在定义的时候确定所引用的变量以后都不能改变所引用的变量
// 2 引用没有独立的存储空间跟被引用的变量共享存储空间
// 3 对引用所做的改变,就是对所引用变量所做的改变
//1 指针有独立的存储空间
//2 指针的值是可变的
//3 引用的值不能为空指针可以为空
//4 sizeof 引用所得到的是引用变量的大小 sizeof指针得到的是指针的大小
// 5 引用和指针的自增++自减运算含义不一样
//c++推荐能使用引用解决问题的就不要用指针
void my_swap(int &x,int &y)
{
int temp=x;
x=y;
y=temp;
}
void my_swap1(int *x,int *y)
{
int temp=*x;
*x=*y;
*y=temp;
}
int age=10;
int & test(){
return age;
}
double widths[]={10.9,18.7};
double & setwidths(int i)
{
return widths[i];
}
//下面的写法是错误的c++中不能对局部变量的引用
int & sum(int a,int b)
{
int temp=a+b;
return temp;
}
int main(int argc,const char * argv[]) {
// insert code here...
std::cout <<"Hello, World!\n";
setwidths(1)=20;
test() = 30;
cout<<"年龄是"<<age<<endl;
const int a=10;
// int &af=a;这样写是错的
const int &af=a;
double d=10.5;
// const int &df=d;//等价于先把d的值存储到一个临时变量中然后在把这个临时变量复制给df所以是可以行的通的
//
//
// cout<<&df<<","<<&d;
// int &df=d;
const double &df=d;
d=30;
cout<<df;
int b=20;
int c=10;
my_swap(c,b);
return 0;
}
void testRef2(){
int a =10;
int b=20;
int &af =a;
af=b;//将变量b的值给了af也就给了a
}
void testRef()
{
int a=10;
//
int &af=a;
// af=90;
int &bf=af;
cout<<&af<<","<<&bf<<endl;
cout<<a<<endl;
cout<<&af<<","<<&a<<endl;
}
- c++中的引用和指针的区别和相关例子
- 【C/C++】引用和指针的区别
- C++中的引用和指针的区别
- 指针和引用的区别(C++)
- C程序设计语言--指针和引用的区别
- 引用和指针的区别C/C++
- [C++]指针和引用的区别
- C++:指针和引用的区别
- c的指针和php中的引用
- C/C++指针与引用的关系和区别(有例子)
- java中的引用和C++中的指针的区别
- java中的引用和C++中的指针的区别
- java中的引用和C++中的指针的区别
- java中的引用和C++中的指针的区别
- java中的引用和C++中的指针的区别
- 【C/C++】概念:指针和引用的区别
- C和C++中的引用和指针
- 指针和引用的区别
- VMware虚拟机没有卸载干净无法重装的问题解决之道
- MJPhotoBrowser的简单使用
- Centos 安装Mysql5.7
- MySQL导入中文乱码解决之道
- 创建型模式:工厂模式(简单工厂模式,抽象工厂模式,工厂模式)
- c++中的引用和指针的区别和相关例子
- hihocoder 1015 KMP
- 《Java面向对象程序设计》
- 仿百度文库方案[openoffice.org 3+swftools+flexpaper] 使用JODConverter将office文档转换为pdf
- Android事件处理机制轻量级源码分析
- 使用Backtrace函数打印调用栈 - Debug居家必备
- 软件工程之软件工程概论
- 文章标题
- Android中sqlite的应用