C/C++ 指標與 Java 引用\n


指標

在 C、C++ 程式語言中,指標是儲存另一個變數地址的變數。

示例

#include <iostream>
using namespace std;
 
int main() {
   //int variable
   int i = 8;

   //pointer variable
   int * pI;

   //assign the address of i to its pointer
   pI = &amp;i;

   //print the number
   cout<<i<<endl;

   //print the address of the number
   cout<<pI<<endl;

   //print the value pointed by pointer
   count<<*pI<<endl;

   //change the value of variable using its pointer
   *pI = 10;

   //print the number
   cout<<i<<endl;
}

輸出

8
0x7fee1ae7bc94
8
10

引用

在 java 程式語言中,引用是指向物件並將使用物件的屬性和函式的變數。

示例

現場演示

public class Tester {
   public static void main(String[] args) {
      Student student = new Student();        
      student.setName("Mahesh");
      System.out.println(student.getName());    
   }
}

class Student {
   String name;

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }
}

輸出

Mahesh

指標與引用的差異

以下列舉了 C/C++ 指標和引用的部分差異。

  • Java 中沒有指標算術。指標是儲存器地址,一個指標指向變數的儲存器地址。在 C/C++ 中,可以遞增/遞減指標以指向一個新的地址,但在 Java 中,不允許對引用進行算術運算。

  • Java 中沒有指標操作儘管引用在內部使用指標,但 Java 不允許任何使用引用變數對底層指標的操縱。這使 java 更加安全和健壯。引用僅可以引用物件或為 null。

  • Java 中沒有指標強制型別轉換在 C/C++ 中,我們可以將 int* 轉化為 char*,但在 Java 中,只有相關的物件才能被強制型別轉換,例如相同層次的物件。

更新於: 18-Jun-2020

2K+ 閱讀次數

啟動你的 職業

完成課程獲取認證

開始
廣告
© . All rights reserved.