#define একটি ম্যাক্রো তৈরি করে, যা একটি আইডেন্টিফায়ার বা প্যারামিটারাইজড আইডেন্টিফায়ারের সাথে একটি টোকেন স্ট্রিংর অ্যাসোসিয়েশন। ম্যাক্রো ডিফাইন হলে কম্পাইলার সোর্স ফাইলে আইডেন্টিফায়ারের প্রতিটি অকুরেন্সের জন্য টোকেন স্ট্রিং সাবস্টিটিউট করতে পারে।
#define identifier token-string
এটি কীভাবে প্রিপ্রসেসর ব্যবহার করা হয়। #define ডিরেক্টিভ কম্পাইলারকে সোর্স ফাইলে আইডেন্টিফায়ারের প্রতিটি অকুরেন্সের জন্য token-string সাবস্টিটিউট করতে বলে। আইডেন্টিফায়ার শুধু তখন রিপ্লেস হয় যখন সেটি একটি টোকেন তৈরি করে। অর্থাৎ, আইডেন্টিফায়ার রিপ্লেস হয় না যদি সেটি একটি কমেন্টে থাকে, একটি স্ট্রিং-এ থাকে, বা একটি বড় আইডেন্টিফায়ারের অংশ হিসেবে থাকে।
উদাহরণ
#include<iostream> #define MY_VAR 55 using namespace std; int main() { int x = 10; cout << x + MY_VAR; // প্রিপ্রসেসিং এর পর এক্সপ্রেশন হয়: x + 55 return 0; } আউটপুট
এটি নিচের আউটপুট দেবে:
65
#define ডিরেক্টিভ সম্পর্কে আরও জানতে MSDN পড়ুন: https://docs.microsoft.com/en-us/cpp/preprocessor/hash-define-directive-c-cpp