সি ++ এ রেফারেন্সের মাধ্যমে কল কীভাবে প্রয়োগ করা যায়

এই নিবন্ধটি বাস্তবায়নের সাথে C ++ এ কল বাই রেফারেন্স এবং কীভাবে এটি কল দ্বারা মানের থেকে পৃথক রয়েছে তার একটি বিতর্কিত জ্ঞান সরবরাহ করবে।

সি ++ এর সাথে কাজ করা কোনও কঠিন কাজ নয় যদি আপনার ইতিমধ্যে সিতে একটি ব্যাকগ্রাউন্ড থাকে কারণ উভয়ই একে অপরের সাথে প্রচুর ধারণা ভাগ করে নেয়। তবে, সি ++ এর কিছু ধারণা রয়েছে যা সি দৃষ্টান্তের অংশ নয় part সি ++ নিবন্ধে রেফারেন্সের মাধ্যমে এই কলটিতে আমরা এই জাতীয় একটি ধারণা সম্পর্কে কথা বলব যা নীচের ক্রমে রেফারেন্স ভেরিয়েবল এবং এর প্রয়োগগুলি:



রেফারেন্স ভেরিয়েবলগুলি

সি ++ আমাদের একটি নতুন ধরণের ভেরিয়েবল দেয়। অর্থ একটি রেফারেন্স ভেরিয়েবল। আমরা আমাদের মূল ভেরিয়েবলের ডাক নাম হিসাবে একটি রেফারেন্স ভেরিয়েবলের কথা ভাবতে পারি। এটাই হ'ল এক লাইনে রেফারেন্স ভেরিয়েবলের সঠিক কার্যকারিতা।



উদাহরণস্বরূপ, যদি আপনার নাম হ্যারিসন তবে বাড়িতে থাকে তবে আপনার পরিবারের সদস্যরা আপনাকে হ্যারি বলে ডাকে। এখন আসুন কিছু রেফারেন্স ভেরিয়েবলের বিশদটি দেখতে দিন। এই ধরণের ভেরিয়েবলের ঘোষণা এবং ব্যবহার আমরা ব্যবহার করি এমন সাধারণ ভেরিয়েবলের চেয়ে পৃথক তবে পয়েন্টার ভেরিয়েবলের সাথে অনেকটা সাদৃশ্য।

বাক্য গঠন:



ইন্ট হ্যালো = 1 ইন্ট * পিটিআর ইন্ট অ্যান্ড ওয়ার্ল্ড = হ্যালো

যখন আমরা একটি ভেরিয়েবল তৈরি করি ‘হ্যালো’ সমেত মান ‘1’, তখন মেমরির একটি অংশটি ‘1’ এর মানটি ব্যবহার করতে ব্যবহৃত হয় এই বিভাগটির নাম হবে ‘হ্যালো’ এবং এই বিভাগটির ঠিকানাটি হেক্স মান হিসাবে কিছু উদাহরণ হিসাবে থাকবে0x64। আমরা যখন লিখিintও বিশ্ব = হ্যালো‘ওয়ার্ল্ড’ ভেরিয়েবল তৈরি করা হয়েছে যা একই স্মৃতি অবস্থানের দিকে নির্দেশ করছে।

ওয়ার্ল্ড ++ সহ লাইনটি 0x64 ঠিকানায় পরিবর্তন আনবে এর অর্থ হল 'হ্যালো' ভেরিয়েবলের মানও পরিবর্তিত হবে। কিছু সম্ভবত যে হতে পারে যে নির্দেশ রেফারেন্স ভেরিয়েবলগুলি পয়েন্টার ভেরিয়েবলের চেয়ে পৃথক যা আমরা এই পোস্টের পরবর্তী অংশে আলোচনা করব।

C ++ তে মান দ্বারা কল এবং রেফারেন্সের মাধ্যমে কল করুন

মূল্য দ্বারা কল: কল বাই ভ্যালু একটি বহুল ব্যবহৃত পদ্ধতি। আপনি যখন ভেরিয়েবলের আসল মানগুলি পরিবর্তন করতে চান না তখন আপনি বেশিরভাগ সময় মান পদ্ধতির মাধ্যমে কলটি ব্যবহার করবেন। সুতরাং আমরা একটি ফাংশন কল করতে মান পদ্ধতির মাধ্যমে কলটি ব্যবহার করি, কেবলমাত্র ভেরিয়েবলের মানগুলি পাস করা হয়। স্মৃতিতে ডামি ভেরিয়েবল তৈরি করে এটি অর্জন করা হয়।



# নেমস্পেসের সাথে এসটিডি অকার্যকর অ্যাড (ইনট্রে, ইনট বি) যোগ করুন {এ = এ + ১০ বি = বি + ১০ কোট<<'Value of a = '<  সি ++ তে মান দ্বারা কল করুন

উপরের চিত্রটি থেকে আমরা দেখতে পাচ্ছি যে আমরা যুক্ত () ফাংশনটি কল করার সাথে সাথে x এবং y ভেরিয়েবলের মান a এবং b ভেরিয়েবলে অনুলিপি করা হবে। এ এবং বি হ'ল ডামি ভেরিয়েবল।

রেফারেন্স দ্বারা কল করুন: এখন, রেফারেন্স পদ্ধতিতে কল সম্পর্কে কথা বলা যাক। এই পদ্ধতিতে আলাদা ডামি ভেরিয়েবল তৈরি হয় না, ইতিমধ্যে বিদ্যমান ভেরিয়েবলের একটি রেফারেন্স পদ্ধতিতে প্রেরণ করা হয়। এই রেফারেন্স একই মেমোরি অবস্থানের দিকে নির্দেশ করে তাই মেমরিতে পৃথক অনুলিপি তৈরি হয় না। এখানে লক্ষণীয় গুরুত্বপূর্ণ বিষয় হ'ল রেফারেন্স ভেরিয়েবলের পরিবর্তনগুলি ডামি ভেরিয়েবলের মধ্যে প্রতিফলিত হয়।

# নেমস্পেসের সাথে এসটিডি অকার্যকর অ্যাড (ইন্টি এবং এ, ইনট এবং বি) যোগ করুন {এ = এ + এ 10 বি = বি + 10 কোট<<'Value of a = '< int & min (int & a, int & b) {যদি (ক) 

যেমন আমরা দেখতে পাচ্ছি যে উপরের ফাংশনটি স্বাভাবিক ফাংশনগুলির সাথে তুলনায় আলাদা দেখায় যেহেতু রিটার্নের ধরণটি 'ইনট &'। এই ফাংশনটি শর্তের উপর নির্ভর করে একটি বা বিতে একটি রেফারেন্স দেয়। এখানে লক্ষণীয় গুরুত্বপূর্ণ বিষয় হ'ল মানগুলিফেরত দেওয়া হয় না।

যদি আমরা ফাংশনটি ন্যূনতম (x, y) = 10 বলি তবে 10 এটি ন্যূনতম হলে x বা y ন্যূনতম হলে y নির্ধারিত হবে।

রেফারেন্স বনাম পয়েন্টার দ্বারা কল করুন

আমাদের সমস্ত উদাহরণগুলিতে আমরা দেখেছি আমরা সর্বদা আমাদের তৈরি রেফারেন্স ভেরিয়েবলের জন্য একটি মান নির্ধারণ করি যেহেতু রেফারেন্স ভেরিয়েবলগুলি NULL হতে পারে না তবে পয়েন্টার ভেরিয়েবলগুলি NULL হতে পারে এবং অপ্রত্যাশিত ত্রুটির কারণ হতে পারে।

রেফারেন্স ভেরিয়েবলগুলি পুনরায় নিয়োগ করা যাবে না যখন পয়েন্টার ভেরিয়েবলগুলি প্রোগ্রামের পরে কিছু অন্যান্য ভেরিয়েবলকে নির্দেশ করতে পারে।

একটি পয়েন্টার ভেরিয়েবল একটি নির্দিষ্ট ভেরিয়েবলের ঠিকানা মান ধারণ করে যখন রেফারেন্স ভেরিয়েবলের ঠিকানাটি যে পরিবর্তনশীলটির সাথে উল্লেখ করা হয় তার অনুরূপ।

এটির সাথে, আমরা সি ++ নিবন্ধে এই কল বাই রেফারেন্সের শেষ করেছি। আমি আশা করি আপনি মান এবং রেফারেন্সের মাধ্যমে কলটির বিভিন্ন বাস্তবায়ন এবং কীভাবে তারা উভয়টির মধ্যে পার্থক্য রয়েছে সে সম্পর্কে আপনি বুঝতে পেরেছেন।

আপনি যদি আরও শিখতে চান তবে এটি দেখুন এডুরেকা, একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা। এডুরেকার জাভা জে 2 ইই এবং এসওএ প্রশিক্ষণ এবং শংসাপত্রের কোর্সটি হিবারনেট ও স্প্রিংয়ের মতো বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি আপনাকে মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে।

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই ব্লগের মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।