C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C /C++ポインタとJavaリファレンス


ポインタ

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では、関連するオブジェクトのみをキャストできます。同じ階層のオブジェクト。


  1. LinuxでのC++の最高のIDEは何ですか?

    大きなプロジェクトは、単なるテキストエディタでは管理が困難です。このような場合にIDEを使用すると、生産性が向上し、フラストレーションが軽減される可能性があります。 IDEにはさまざまな種類があり、ニーズに合ったものを選択する必要があります。 Linux上のC++に最適なIDEは1つではありません。ツールは賢く選ぶ必要があります。 Linux用の人気のあるIMOの最高のIDEのリストは次のとおりです。 C /C++開発用のNetbeans- Netbeansは、C /C++および他の多くのプログラミング言語向けの無料のオープンソースで人気のあるクロスプラットフォームIDEです。コミュニテ

  2. C#のポインターとは何ですか?

    ポインタは、値が別の変数のアドレス、つまりメモリ位置の直接アドレスである変数です。 ポインタの構文は-です。 type *var-name; ポインタ型を宣言する方法は次のとおりです- double *z; /* pointer to a double */ C#では、安全でない修飾子でマークされている場合、コードブロックの関数でポインター変数を使用できます。安全でないコードまたは管理されていないコードは、ポインター変数を使用するコードブロックです。 以下は、ポインター変数を宣言して使用する方法を示すモジュールです。ここでは安全でない修飾子を使用しました- static unsafe