c++ - PointList &L 与 PointList L 的区别?
黄舟
黄舟 2017-04-17 12:58:06
0
2
709

最近看老师的程序
PointList 就是一个点列表结构体

struct Point
{
    float x, y;
};

struct PointList
{
    int size;
    int cur;
    struct Point points[10];
};

为什么有时候在函数中使用 PointList L 做参数,有时候使用 PointList &L,两者有什么区别呢?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

모든 응답(2)
阿神

这不是C是C++吧,PointList &L,我习惯写成 PointList& L,这是申明一个引用类型。函数参数如果不是引用类型会拷贝一个副本,如果是引用类型会传递原来的结构值。

阿神

简而言之,PointList L传值,PointList &L传址。

对于非基元类型,请一律使用PointList &L作为形参,如果不想改动实参,请用const PointList &L

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿