在函数的实际参数中什么时候加上&该怎么处理
在函数的实际参数中什么时候加上&
比如说我定义一个数据结构struct polynode
typedef polynode *poly
在初始化函数中 就要加上& int initpoly(poly &P)
但在其他函数中优势就不加
什么时候该加,什么时候不加
------解决方案--------------------
概念性混乱,基本不知道楼主想说什么?
推荐看c++ primer.
引用类型和取地址符 都是&, 要分辨他们就要分辨是否是定义数据还是执行运算.
int i;
int &data = i; //这里定义了一个引用类型,初始化为i
int *ptr = &i; //这里&i 是执行运算,表示取i 的地址;
函数参数:
void func( int& data ); //这里函数声明或定义的形参是表示引用,
func( &i ); //这里调用函数的实参是表示取地址.
更多的请看书系统学习.
比如说我定义一个数据结构struct polynode
typedef polynode *poly
在初始化函数中 就要加上& int initpoly(poly &P)
但在其他函数中优势就不加
什么时候该加,什么时候不加
------解决方案--------------------
概念性混乱,基本不知道楼主想说什么?
推荐看c++ primer.
引用类型和取地址符 都是&, 要分辨他们就要分辨是否是定义数据还是执行运算.
int i;
int &data = i; //这里定义了一个引用类型,初始化为i
int *ptr = &i; //这里&i 是执行运算,表示取i 的地址;
函数参数:
void func( int& data ); //这里函数声明或定义的形参是表示引用,
func( &i ); //这里调用函数的实参是表示取地址.
更多的请看书系统学习.