কম্পিউটার

C/C++ পয়েন্টার বনাম জাভা রেফারেন্স


পয়েন্টার

C, C++ প্রোগ্রামিং ভাষায়, একটি পয়েন্টার হল একটি ভেরিয়েবল যা অন্য ভেরিয়েবলের ঠিকানা ধারণ করে।

উদাহরণ

নেমস্পেস std ব্যবহার করে
#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

রেফারেন্স

জাভা প্রোগ্রামিং ভাষায়, একটি রেফারেন্স একটি পরিবর্তনশীল যা একটি বস্তুকে নির্দেশ করে এবং যা ব্যবহার করে আমরা একটি বস্তুর বৈশিষ্ট্য এবং ফাংশন ব্যবহার করতে পারি।

উদাহরণ

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* তে কাস্ট করতে পারি কিন্তু জাভাতে শুধুমাত্র সম্পর্কিত অবজেক্ট কাস্ট করা যায় যেমন একই অনুক্রমের বস্তু।


  1. C++ এ পয়েন্টার অপারেটর * কি?

  2. পয়েন্টার অপারেটর এবং C++ এ কি?

  3. লিনাক্সে C++ এর সেরা IDE কি?

  4. C# এ পয়েন্টার কি?