Wednesday, September 25, 2013

সি প্লাস প্লাসঃ পয়েন্টার এবং রেফারেন্সের পার্থক্য

আমার ডিপার্টমেন্টের একজন স্টুডেন্ট জানতে চেয়েছিল পয়েন্টার আর রেফারেন্সের মধ্যে পার্থক্য কি । তখন ওকে বোঝানোর জন্য একটা লিখা লিখেছিলাম সেটাই তুলে দিচ্ছি।


পয়েন্টারঃ
ধরে নাও সোহরাব এবং পলাশ দুই ভাই।

int সোহরাব, *পলাশ;
পলাশ = &সোহরাব;

১ ম লাইনে আমরা চাই যে পলাশ অন্য কারো এড্রেসের জায়গা দখল করুক। তাহলে পলাশের আগে * দিয়ে পয়েন্টার হিসেবে initialize করলাম।

২ লাইনে পলাশের এর মান &সোহরাব লেখার অর্থ- সোহরাবের এর মেমরী এড্রেসে পলাশ এসাইন হয়ে যাচ্ছে।

মানে হল সোহরাবের কাছে ১০ টাকা থাকলে সেটা যেয়ে সোহরাবের মেমরী এড্রেসে বসবে। যেহেতু ২ লাইনে বলে দিয়েছি সোহরাবের মেমরী এড্রেসে যা থাকে তাই পলাশের মান সুতরাং সোহরাবের কাছে ১০ টাকা থাকলে পলাশের কাছেও ১০ টাকা থাকবে। পলাশের কাছে ২০ টাকা থাকলে কিন্তু সোহবারের মান ২০ টাকা হবে না। এখানে পলাশ পয়েন্টার ভেরিয়েবল হিসেবে কাজ করছে।

এটাই পয়েন্টারের বেসিক কনসেপ্ট।

রেফারেন্সঃ

int সোহরাব ;
int &পলাশ = সোহরাব ;

এখানে রেফারেন্স ভেরিয়েবলের ক্ষেত্রে সোহরাব এবং পলাশ একই মেমরী এড্রেস দখল করছে ( উপরের উদাহরনে পয়েন্টারের ক্ষেত্রে শুধুমাত্র পলাশ সোহবারের মেমরী এড্রেস দখল করছে। )।  সোহরাবের কাছে ১০ টাকা থাকলে পলাশের কাছেও ১০ টাকা থাকবে। আবার পলাশের কাছে ২০ টাকা থাকলে তখন আবার সোহবারের কাছেও ২০ টাকা চলে আসবে। পলাশ এখানে রেফারেন্স ভেরিয়েবল হিসেবে কাজ করছে।

এটাই রেফারেন্সের বেসিক কনসেপ্ট।


3 comments:

  1. ভাল্লাগসে ভাই

    ReplyDelete
  2. What you’ll get from this calculation is what we discuss with because the “Payback Percentage.” It’s somehow or the other|by some means} much like the home edge, nevertheless it solely applies when you’re enjoying in} with a machine. The “Double Up bug” lurking in the software program of Game King video poker machines sur­vived undetect­ed for practically seven years, partially as a result of|as a result of} the steps 텐벳 to repro­duce it have been so complicated. John Kane and Andre Nestor experi­mented till they may trig­ger it at will. Housed in an nameless office park close to the airport, the GCB's Technology Division was fashioned within the mid-1980s to police video playing as it started its Nevada ascent.

    ReplyDelete

এখানে আপনি আপনার মূল্যবান মতামতটি প্রকাশ করতে পারেন।