কম্পিউটার

কিভাবে C++ এর ফাংশনে অবজেক্ট পাস করবেন?


ফাংশনে অবজেক্ট পাস করার চারটি উপায় রয়েছে। ধরুন আপনার দশম শ্রেণী আছে এবং আপনি এটিকে একটি মজার ফাংশনে পাস করতে চান, তাহলে −

মান দ্বারা পাস

এটি ফাংশনের সুযোগে বস্তুর একটি অগভীর স্থানীয় অনুলিপি তৈরি করে। আপনি এখানে যে জিনিসগুলি পরিবর্তন করবেন তা এটিতে পাঠানো বস্তুতে প্রতিফলিত হবে না৷ উদাহরণস্বরূপ,

ঘোষণা

void fun(X x);

কল করা হচ্ছে

X x;
fun(x);

রেফারেন্স দ্বারা পাস

এটি ফাংশনে বস্তুর একটি রেফারেন্স পাস করে। আপনি এখানে যে জিনিসগুলি পরিবর্তন করবেন তা এটিতে পাঠানো বস্তুতে প্রতিফলিত হবে। বস্তুর কোন অনুলিপি তৈরি করা হয় না. উদাহরণস্বরূপ,

ঘোষণা

void fun(X &x);

কল করা হচ্ছে

X x;
fun(x);

কনস্ট রেফারেন্স দ্বারা পাস করুন

এটি ফাংশনে অবজেক্টের একটি কনস্ট রেফারেন্স পাস করে। আপনি এখানে বস্তুটিকে সরাসরি সংশোধন/পুনরায় বরাদ্দ করতে পারবেন না (যদিও আপনি এটির পদ্ধতিগুলি ব্যবহার করতে পারেন)। আপনি যদি ফাংশনটিতে অবজেক্টের শুধুমাত্র একটি পঠনযোগ্য অনুলিপি রাখতে চান তবে এটি কার্যকর। বস্তুর কোন অনুলিপি তৈরি করা হয় না. উদাহরণস্বরূপ,

ঘোষণা

void fun(X const &x);

কল করা হচ্ছে

X x;
fun(x);

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

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

ঘোষণা

void fun(X const *x);

কল করা হচ্ছে

X x;
fun(&x);

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

এই ফাংশন অবজেক্ট একটি পয়েন্টার পাস. এটি বস্তুর একটি রেফারেন্স পাস করার অনুরূপ। বস্তুর কোন অনুলিপি তৈরি করা হয় না। উদাহরণস্বরূপ,

ঘোষণা

void fun(X *x);

কল করা হচ্ছে

X x;
fun(&x);

  1. জাভাস্ক্রিপ্টে নেস্টেড json অবজেক্টগুলি কীভাবে অ্যাক্সেস করবেন?

  2. কিভাবে জাভাস্ক্রিপ্ট আদিম/বস্তুর ধরন ফাংশন পাস করে?

  3. কিভাবে জাভাস্ক্রিপ্টে বেনামী ফাংশন আর্গুমেন্ট পাস?

  4. NSUserDefaults এ কাস্টম অবজেক্ট কিভাবে সংরক্ষণ করবেন?