指標與引用

Andy Niu發表於2013-11-06

1、引用的使用場景:必須指向某個物件(不能指向Null),並且從始至終都指向這個物件。還有一種情況:操作符的返回值要求是引用,這樣就可以對它賦值。

2、指標的使用場景:不適合使用引用,就使用指標。

3、能使用引用,儘量使用引用。因為引用相對更高效,不需要判斷指向是否為Null

4、引用相對更安全,引用和指標都有不安全的情況,也就是指向的內容被銷燬了。

5、指標指向的內容被銷燬,該指標就是野指標,野指標不是Null指標。產生野指標的情況有:

  a、指標變數沒有初始化,指標變數建立時,取值是隨機的,不是Null,因此指標變數定義時,要麼初始化為Null,要麼初始化為合法的記憶體。

  b、對指標進行了delete,但是沒把指標設為Null

  c、指向了棧記憶體

6、引用的真實物件被銷燬,往往是由於指向了棧上的物件,也就是方法返回了引用。

7、引用和指標都有不安全的情況,也就是指向的內容被銷燬了。相對而言,對於引用,指向內容被銷燬的情況更容易排查。

相關文章