搜尋

首頁  >  問答  >  主體

c++ - PointList &L 与 PointList L 的区别?

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

struct Point
{
    float x, y;
};

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

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

黄舟黄舟2767 天前704

全部回覆(2)我來回復

  • 阿神

    阿神2017-04-17 13:00:06

    這不是C是C++吧,PointList &L,我習慣寫成 PointList& L,這是申明一個引用型。函數參數如果不是引用型別會拷貝一個副本,如果是引用型別會傳遞原來的結構值。

    回覆
    0
  • 阿神

    阿神2017-04-17 13:00:06

    簡而言之,PointList L傳值,PointList &L傳址。

    對於非基元類型,請一律使用PointList &L作為形參,如果不想改動實參,請用const PointList &L

    回覆
    0
  • 取消回覆