একটি সি-স্টাইল বৈচিত্র্যময় ফাংশন সংজ্ঞায়িত করবেন না?

সুচিপত্র:

একটি সি-স্টাইল বৈচিত্র্যময় ফাংশন সংজ্ঞায়িত করবেন না?
একটি সি-স্টাইল বৈচিত্র্যময় ফাংশন সংজ্ঞায়িত করবেন না?
Anonim

ফলে, একটি সি-স্টাইল বৈচিত্র্যময় ফাংশনে একটি রানটাইম কল যা অনুপযুক্ত আর্গুমেন্ট পাস করে তা অনির্ধারিত আচরণ দেয়। … এই ধরনের অনির্ধারিত আচরণকে স্বেচ্ছাচারী কোড চালানোর জন্য কাজে লাগানো যেতে পারে।

C-তে ভেরিয়েডিক ফাংশন কী?

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

ভেরিয়েডিক ফাংশন কি খারাপ?

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

আপনি কিভাবে C++ এ একটি বৈচিত্র্যময় ফাংশন ঘোষণা করবেন?

ভ্যারিয়াডিক ফাংশন হল ফাংশন (যেমন std::printf) যা পরিবর্তনশীল সংখ্যক আর্গুমেন্ট নেয়। একটি বৈচিত্র্যময় ফাংশন ঘোষণা করতে, প্যারামিটারের তালিকার পরে একটি উপবৃত্তাকার উপস্থিত হয়, যেমন int printf(const char বিন্যাস…);, যার আগে একটি ঐচ্ছিক কমা হতে পারে।

আপনি কীভাবে অন্য ফাংশনে বিভিন্ন প্যারামিটার পাস করবেন?

আপনি একটি বৈচিত্র্যময় ফাংশনে বিভিন্ন আর্গুমেন্ট পাস করতে পারবেন না। পরিবর্তে, আপনাকে অবশ্যই একটি ফাংশন কল করতে হবে যা যুক্তি হিসেবে একটি va_list নেয়। স্ট্যান্ডার্ড লাইব্রেরি printf এবং scanf-এর বিভিন্ন রূপ সরবরাহ করে যা একটি va_list নেয়; তাদের নামের উপসর্গ আছে v.

প্রস্তাবিত: