Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी/सी++ पॉइंटर्स बनाम जावा संदर्भ

पॉइंटर्स

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++ पॉइंटर्स और संदर्भों के बीच कुछ अंतर निम्नलिखित हैं।

  • जावा में कोई सूचक अंकगणित नहीं है। पॉइंटर्स मेमोरी एड्रेस होते हैं और एक पॉइंटर एक वैरिएबल के मेमोरी एड्रेस की ओर इशारा करता है। C/C++ में, एक नए पते को इंगित करने के लिए एक सूचक को बढ़ाया/घटाया जा सकता है लेकिन जावा में, संदर्भों पर अंकगणितीय संचालन की अनुमति नहीं है।

  • जावा में कोई पॉइंटर मैनिपुलेशन नहीं हालांकि एक संदर्भ आंतरिक रूप से एक सूचक का उपयोग करता है लेकिन जावा एक संदर्भ चर का उपयोग करके अंतर्निहित सूचक को किसी भी हेरफेर की अनुमति नहीं देता है। यह जावा को अधिक सुरक्षित और मजबूत बनाता है। एक संदर्भ किसी वस्तु को संदर्भित कर सकता है या केवल शून्य हो सकता है।

  • जावा में पॉइंटर्स की कोई कास्टिंग नहीं C/C++ में, हम int* से char* कास्ट कर सकते हैं, लेकिन Java में, केवल संबंधित ऑब्जेक्ट्स को ही कास्ट किया जा सकता है। समान पदानुक्रम की वस्तु।


  1. C++ में पॉइंटर ऑपरेटर और क्या है?

    C++ दो पॉइंटर ऑपरेटर प्रदान करता है, जो ऑपरेटर का पता (&) और इनडायरेक्शन ऑपरेटर (*) हैं। एक पॉइंटर एक वेरिएबल होता है जिसमें दूसरे वेरिएबल का पता होता है या आप कह सकते हैं कि एक वेरिएबल जिसमें दूसरे वेरिएबल का पता होता है, दूसरे वेरिएबल को पॉइंट करने के लिए कहा जाता है। एक वैरिएबल कोई भी डेटा प्रकार

  1. Linux पर C++ का सबसे अच्छा IDE क्या है?

    केवल टेक्स्ट एडिटर्स पर बड़े प्रोजेक्ट्स को मैनेज करना मुश्किल है। यदि आप ऐसे मामलों में आईडीई का उपयोग करते हैं तो आप अधिक उत्पादक और कम निराश होने की संभावना रखते हैं। विभिन्न प्रकार के आईडीई हैं और आपको अपनी आवश्यकताओं के अनुरूप सही का चयन करना चाहिए। Linux पर C++ के लिए एक भी सर्वश्रेष्ठ IDE नही

  1. सी # में पॉइंटर्स क्या हैं?

    पॉइंटर एक वेरिएबल है जिसका मान दूसरे वेरिएबल का पता है यानी मेमोरी लोकेशन का सीधा पता। पॉइंटर का सिंटैक्स है - type *var-name; आप निम्न प्रकार से एक सूचक प्रकार घोषित कर सकते हैं - double *z; /* pointer to a double */ सी # कोड ब्लॉक के एक समारोह में सूचक चर का उपयोग करने की अनुमति देता है जब इसे