最近看老师的程序PointList 就是一个点列表结构体
struct Point { float x, y; }; struct PointList { int size; int cur; struct Point points[10]; };
为什么有时候在函数中使用 PointList L 做参数,有时候使用 PointList &L,两者有什么区别呢?
人生最曼妙的风景,竟是内心的淡定与从容!
这不是C是C 吧,PointList &L,我习惯写成 PointList& L,这是申明一个引用类型。函数参数如果不是引用类型会拷贝一个副本,如果是引用类型会传递原来的结构值。
PointList &L
PointList& L
简而言之,PointList L传值,PointList &L传址。
PointList L
对于非基元类型,请一律使用PointList &L作为形参,如果不想改动实参,请用const PointList &L。
const PointList &L
这不是C是C 吧,
PointList &L
,我习惯写成PointList& L
,这是申明一个引用类型。函数参数如果不是引用类型会拷贝一个副本,如果是引用类型会传递原来的结构值。简而言之,
PointList L
传值,PointList &L
传址。对于非基元类型,请一律使用
PointList &L
作为形参,如果不想改动实参,请用const PointList &L
。