কম্পিউটার টিউটোরিয়াল

C-তে `_Generic` কীওয়ার্ড: টাইপ-জেনেরিক ম্যাক্রো তৈরি (C11)

সংক্ষিপ্ত বিবরণ

`_Generic` হল C11 স্ট্যান্ডার্ডে যোগ করা একটি কীওয়ার্ড যা কম্পাইল-টাইমে টাইপ অনুযায়ী ম্যাক্রো এক্সপ্যানশন করতে দেয়। এটি টাইপ-সেফ জেনেরিক প্রোগ্রামিং সক্ষম করে।

সিনট্যাক্স

_Generic( (expression),
    type1: result1,
    type2: result2,
    default: default_result )

উদাহরণ: টাইপ চেকার ম্যাক্রো

#define typecheck(T) _Generic((T), \
    char: 1, \
    int: 2, \
    long: 3, \
    float: 4, \
    default: 0)

typecheck('a')   → 1
typecheck(10)    → 2
typecheck(10L)   → 3
typecheck(3.14f) → 4
typecheck("hi")  → 0 (default)

ব্যবহার ক্ষেত্র

  • টাইপ-সেফ প্রিন্ট ফাংশন (যেমন `printf` র‍্যাপার)
  • জেনেরিক কন্টেইনার/অ্যালগরিদম
  • কম্পাইল-টাইম টাইপ ডিসপ্যাচ

সি কোড

#include <stdio.h>
#define typecheck(T) _Generic((T), char:1, int:2, long:3, float:4, default:0)

int main() {
    printf("long: %d\n", typecheck(2353463456356465L));
    printf("float: %d\n", typecheck(4.32f));
    printf("int: %d\n", typecheck(324));
    printf("string: %d\n", typecheck("Hello"));
    return 0;
}

আউটপুট

long: 3
float: 4
int: 2
string: 0
  1. জাভাস্ক্রিপ্টে super কীওয়ার্ড কী?

  2. জাভাস্ক্রিপ্টে Class কীওয়ার্ড

  3. জাভাস্ক্রিপ্ট this কীওয়ার্ড ব্যাখ্যা

  4. জাভাস্ক্রিপ্টে ফাংশনকে কলব্যাক হিসেবে পাস করা