কম্পিউটার

টিউটোরিয়াল পয়েন্টে সি-তে অ্যাট্রিবিউট((কন্সট্রাক্টর)) এবং অ্যাট্রিবিউট((ডেস্ট্রাক্টর)) সিনট্যাক্স?


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

এই কাজটি করার জন্য আমাদের এই দুটি ফাংশনের জন্য বৈশিষ্ট্য রাখতে হবে। যখন অ্যাট্রিবিউটটি কনস্ট্রাক্টর অ্যাট্রিবিউট হয়, তখন এটি main() এর আগে কার্যকর করা হবে এবং যখন অ্যাট্রিবিউটটি ডেস্ট্রক্টর টাইপ হয়, তখন এটি main() এর পরে কার্যকর করা হবে।

আমরা GCC ফাংশন ব্যবহার করছি। ফাংশন হল __attribute__()। এই ক্ষেত্রে আমরা দুটি ভিন্ন বিকল্প ব্যবহার করছি। __attribute__() ফাংশন সহ Constructor এবং Destructor. সিনট্যাক্স __attribute__((constructor)) প্রোগ্রামটি শুরু হলে একটি ফাংশন চালানোর জন্য ব্যবহৃত হয়। এবং সিনট্যাক্স __attribute__((destructor)) ফাংশন চালানোর জন্য ব্যবহৃত হয় যখন main() ফাংশন সম্পূর্ণ হয়। আরও ভালো ধারণা পেতে দয়া করে উদাহরণ দিয়ে যান৷

উদাহরণ

#include <stdio.h>
void before_main() __attribute__((constructor));
void after_main() __attribute__((destructor));
void before_main() {
   printf("This is executed before main.\n");
}
void after_main() {
   printf("This is executed after main.");
}
main() {
   printf("Inside main\n");
}

আউটপুট

This is executed before main.
Inside main
This is executed after main.

  1. জাভাস্ক্রিপ্টে Atomics.and() ফাংশন

  2. অবজেক্ট লিটারাল এবং কনস্ট্রাক্টর ফাংশন ব্যবহার করে তৈরি করা বস্তুর মধ্যে প্রধান পার্থক্য কী?

  3. কিভাবে একটি ফাংশন এবং পদ্ধতি হিসাবে একটি ফাংশন আহ্বান করতে হয়?

  4. জাভাস্ক্রিপ্টে ডিস্ট্রাকচারিং এবং ফাংশন প্যারামিটার