指標與引用的區別

2022-08-19 18:00:14 字數 490 閱讀 7052

引用肯定會指向乙個物件,在 c++裡,引用應被初始化.

不存在指向空值的引用這個事實意味著使用引用的**效率比使用指標的要高.因為在使用引用之前不需要測試它的合法性。 相反,指標則應該總是被測試,防止其為空.

指標與引用的另乙個重要的不同是指標可以被重新賦值以指向另乙個不同的物件.但是引用則總是指向在初始化時被指定的物件,以後不能改變.

總的來說,在以下情況下你應該使用指標,一是你考慮到存在不指向任何物件的可能(在這種情況下,你能夠設定指標為空),二是你需要能夠在不同的時刻 指向不同的物件(在這種情況下,你能改變指標的指向).如果總是指向乙個物件並且一旦指向乙個物件後就不會改變指向,那麼你應該使用引用.

還有一種情況,就是當你過載某個操作符時,你應該使用引用。最普通的例子是操作符.這個操作符典型的用法是返回乙個目標物件,其能被賦值.

當你知道你必須指向乙個物件並且不想改變其指向時,或者在過載操作符並為防止不必要的語義誤解時,你不應該使用指標.而在除此之外的其他情況下,則應使用指標.

引用與指標的區別

1.初始化要求不同。引用在建立的同時必須初始化,而指標在定義的時候不必初始化,可以在定義後面的任何地方重新賦值 2.可修改性不同。引用一旦被初始化,就不能被另乙個物件引用了,而指標在任何時候都可以指向另乙個物件 3.不存在null引用。引用不能使用指向空值的引用,必須指向某物件 而指標可以是null...

指標與引用的區別

指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要認識到在任何情況下都不能使用指向空值的引用。乙個引用必須總是指向某些物件。因此如果你使用乙個變數並讓它指向乙個物件,但...

指標與引用的區別

指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要認識到在任何情況下都不能用指向空值的引用。乙個引用必須總是指向某些物件。因此如果你使用乙個變數並讓它指向乙個物件,但是...