কম্পিউটার

ইনিশিয়ালাইজার সহ C++17 If স্টেটমেন্ট


C++17 বিবৃতির সিনট্যাক্স বিদ্যমান থাকলে প্রসারিত করেছে। এখন ইফ স্টেটমেন্টের মধ্যেই প্রাথমিক শর্ত দেওয়া সম্ভব। এই নতুন সিনট্যাক্সকে "ইফ স্টেটমেন্ট উইথ ইনিশিয়ালাইজার" বলা হয়। এই বর্ধিতকরণ সাধারণ কোড প্যাটার্ন সহজ করে এবং ব্যবহারকারীদের স্কোপগুলিকে শক্ত রাখতে সাহায্য করে৷ যা পরিবর্তিতভাবে সুযোগের বাইরে পরিবর্তনশীল ফাঁস এড়ায়।

উদাহরণ

ধরুন আমরা প্রদত্ত সংখ্যাটি জোড় বা বিজোড় কিনা তা পরীক্ষা করতে চাই। C++17 এর আগে আমাদের কোড দেখতে এইরকম ছিল −

#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
   srand(time(NULL));
   int random_num = rand();
   if (random_num % 2 == 0) {
      cout << random_num << " is an even number\n";
   } else {
      cout << random_num << " is an odd number\n";
   }
   return 0;
}

আউটপুট

আপনি যখন উপরের কোডটি কম্পাইল এবং এক্সিকিউট করবেন তখন এটি এরকম কিছু আউটপুট তৈরি করবে -

1555814729 is an odd number

উপরের উদাহরণে, আমরা দেখতে পাচ্ছি যে পরিবর্তনশীল "random_num" if-else সুযোগের বাইরে ফাঁস হয়েছে। আমরা নতুন "ইফ স্টেটমেন্ট উইথ ইনিশিয়ালাইজার" সিনট্যাক্স দিয়ে সহজেই এটি এড়াতে পারি।

নীচে "ইফ স্টেটমেন্ট উইথ ইনিশিয়ালাইজার" -

এর সিনট্যাক্স রয়েছে
if (init; condition) {
   // Do stuff when Boolean condition is true
} else {
   // Do stuff when Boolean condition is false
}

উদাহরণ

এখন ইনিশিয়ালাইজার −

দিয়ে নতুন if স্টেটমেন্ট ব্যবহার করে একই কোড লিখি
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
   srand(time(NULL));
   // C++17 if statement with initializer
   if (int random_num = rand(); random_num % 2 == 0) {
      cout << random_num << " is an even number\n";
   } else {
      cout << random_num << " is an odd number\n";
   }
   return 0;
}

উপরের উদাহরণে, "random_num" ভেরিয়েবলের সুযোগ if-else ব্লকের মধ্যে সীমাবদ্ধ। তাই এই ভেরিয়েবলটি এই ব্লকের বাইরে অ্যাক্সেসযোগ্য হবে না। আশ্চর্যজনকভাবে এটি প্রকৃত আউটপুটকে প্রভাবিত না করে ভেরিয়েবলের সুযোগকে শক্ত রাখে।

আউটপুট

আপনি যখন উপরের কোডটি কম্পাইল এবং এক্সিকিউট করবেন তখন এটি এরকম কিছু আউটপুট তৈরি করবে -

943513352 is an even number

দ্রষ্টব্য − যেহেতু আমরা র্যান্ডম সংখ্যা তৈরি করছি প্রতিবার আউটপুট একই মেশিনে প্রতিটি রানের জন্য পরিবর্তিত হবে।


  1. বিবৃতি সি++ পরিবর্তন করুন

  2. আমি কিভাবে জাভাস্ক্রিপ্টে বিরতি বিবৃতি সহ একটি লেবেল ব্যবহার করতে পারি?

  3. উদাহরণ সহ জাভাস্ক্রিপ্টে চূড়ান্ত বিবৃতি ব্যাখ্যা করুন।

  4. জাভাস্ক্রিপ্ট উইথ স্টেটমেন্টের ব্যবহার কি?