引用,指针,值传递的使用
2012-06-14 12:09
232 查看
引用是C++中对取址符&的新的应用,其使用中作用和指针类似,都是直接对原有变量操作
引用必须在声明的同时初始化赋值,而指针可以先声明再赋值,
如: int n = 101;
int &refn = n; //引用,其相当于const指针,即与 const int * pn = &n; 通用
int *pn = &n; //指针
在函数操作中,如对int n,m呼叫下边三种函数
void swapref(int &a, int &b); //按引用传递
void swapp(int *a, int *b); //按指针传递,即按地址传递
void swapv(int a, int b); //按值传递
分别为:swapref(n, m);
swapp(&n, &m);
swapv(n,m);
其中前两者都是直接对n,m操作,而后者则是另外生成变量操作,很容易出现错误
引用必须在声明的同时初始化赋值,而指针可以先声明再赋值,
如: int n = 101;
int &refn = n; //引用,其相当于const指针,即与 const int * pn = &n; 通用
int *pn = &n; //指针
在函数操作中,如对int n,m呼叫下边三种函数
void swapref(int &a, int &b); //按引用传递
void swapp(int *a, int *b); //按指针传递,即按地址传递
void swapv(int a, int b); //按值传递
分别为:swapref(n, m);
swapp(&n, &m);
swapv(n,m);
其中前两者都是直接对n,m操作,而后者则是另外生成变量操作,很容易出现错误
相关文章推荐
- 引用、指针、值传递的使用原则
- 什么时候使用指针?什么时候使用引用?什么时候应该按值传递?
- C++异常对象传递的时候,使用普通对象还是指针还是引用(使用引用)
- C++值传递、引用传递、指针传递以及STL模板堆的使用
- jna对结构体、指针、引用、拷贝参数传递的使用
- 什么时候使用引用?什么时候使用指针?什么时候安置传递?
- C++引用(3) - 使用引用或者指针传递参数
- 参数传递时数组引用保护数组退化为指针
- C++ 值传递、指针传递、引用传递详解
- c++中的值传递,引用传递,指针传递的区别?
- C/C++值传递、指针传递和引用传递详解
- 使用指针来将多维数组传递给函数
- C++中值传递、指针传递、引用传递的总结
- 【从C到C++学习笔记】引用/const引用/引用传递/引用作为函数返回值/引用和指针的区别
- 值类型与引用类型(特殊的string) Typeof和GetType() 静态和非静态使用 参数传递 相关知识
- 指针与引用的混合使用总结
- java及C++中传值传递、引用传递和指针方式的理解
- C++ 常量指针或者常量引用作为函数参数传递的原因
- 引用(别名)、取值和指针的区别使用
- 图解C/C++中函数参数的值传递、指针传递与引用传递