C++17-এ if স্টেটমেন্টে ইনিশিয়ালাইজার যোগ করা যায়। এটি স্কোপ ছোট রাখে এবং ভেরিয়েবল লিক এড়াতে সাহায্য করে।
সিনট্যাক্স
if (init; condition) { ... } else { ... }
উদাহরণ: র্যান্ডম নাম্বার ইভেন/অড চেক
C++17 이전 (ভেরিয়েবল লিক হয়)
int random_num = rand(); if (random_num % 2 == 0) cout << "Even"; else cout << "Odd"; // random_num এখানেও অ্যাক্সেসIBLE
C++17-এ (ইনিশিয়ালাইজার সহ)
if (int random_num = rand(); random_num % 2 == 0)
cout << "Even";
else
cout << "Odd";
// random_num শুধু if-else ব্লকে ভিজিবল
সम्पূর্ণ কোড
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
srand(time(NULL));
if (int random_num = rand(); random_num % 2 == 0)
cout << random_num << " is even\n";
else
cout << random_num << " is odd\n";
return 0;
}
আউটপুট
943513352 is an even number
নোট: র্যান্ডম নাম্বার জেনারেট করলে প্রতিবার আউটপুট ভিন্ন হবে।