什么时候使用引用?什么时候使用指针?什么时候安置传递?
2014-02-18 23:49
417 查看
下面是一些指导原则:
对于使用传递的值而不作修改的函数。
1.如果数据对象很小,如内置数据类型或小型结构,则按值传递。
2.如果数据对象是数组,则使用指针,因为这是唯一的选择,并将指针声明为指向const 的指针。
3.如果数据对象是较大的结构,则使用const指针或const引用,以提高程序的效率。这样可以节省复制结构所需的时间和空间。
4.如果数据对象是类对象,则使用const引用。类设计的语义常常要求也使用引用,这是c++新增这项特性的主要原因。因此,传递类对象参数的标准方式是按引用传递。
对于修改调用函数中数据的函数:
1.如果数据对象是内置数据类型,则使用指针。如果看到诸如fixit(&x)这样的代码(其中x是int),则很明显,该函数将修改x。
2.如果数据对象是数组,则只能使用指针。
3.如果数据对象是结构,则使用引用或指针。
如果数据对象是类对象,则使用引用。
对于使用传递的值而不作修改的函数。
1.如果数据对象很小,如内置数据类型或小型结构,则按值传递。
2.如果数据对象是数组,则使用指针,因为这是唯一的选择,并将指针声明为指向const 的指针。
3.如果数据对象是较大的结构,则使用const指针或const引用,以提高程序的效率。这样可以节省复制结构所需的时间和空间。
4.如果数据对象是类对象,则使用const引用。类设计的语义常常要求也使用引用,这是c++新增这项特性的主要原因。因此,传递类对象参数的标准方式是按引用传递。
对于修改调用函数中数据的函数:
1.如果数据对象是内置数据类型,则使用指针。如果看到诸如fixit(&x)这样的代码(其中x是int),则很明显,该函数将修改x。
2.如果数据对象是数组,则只能使用指针。
3.如果数据对象是结构,则使用引用或指针。
如果数据对象是类对象,则使用引用。
相关文章推荐
- 什么时候使用指针?什么时候使用引用?什么时候应该按值传递?
- 什么时候使用引用?和什么时候使用指针
- C++异常对象传递的时候,使用普通对象还是指针还是引用(使用引用)
- 什么时候使用引用?和什么时候使用指针
- jna对结构体、指针、引用、拷贝参数传递的使用
- C++值传递、引用传递、指针传递以及STL模板堆的使用
- C++引用(3) - 使用引用或者指针传递参数
- 引用,指针,值传递的使用
- 引用、指针、值传递的使用原则
- 什么时候应使用指针形参?什么时候就使用引用形参?解释两者的优点和缺点。
- C++ 值传递、指针传递、引用传递详解
- c++指针和引用两种方式实现值传递
- 使用引用传递Mat参数 后类型发生变化
- C++中引用传递与指针传递区别
- 类的默认构造函数--为何使用引用以及什么时候显式的给出
- 【转】javascript中值传递,地址传递,引用传递的问题(使用js创建list对象时会用到)
- 值传递、指针传递、引用传递的区别
- C++的那点事,const,指针和引用的混合使用
- C语言之使用指针数组传递参数
- 引用和指针 传递参数