এখানে আমরা STL সম্পর্কিত C++ এর কিছু লুকানো কৌশল দেখব।
ধনুর্বন্ধনী '{}' ব্যবহার করে জোড়ার মান নির্ধারণ করুন। আমরা এগুলিকে টিপলে বরাদ্দ করতেও ব্যবহার করতে পারি।
pair<int, int> my_pair = make_pair(10, 20); pair<int, int> my_pair2 = { 10, 20 }; //using braces pair<int, <char, int> > my_pair3 = { 10, { 'A', 20 } }; //complex pair
কখনও কখনও আমরা প্রচুর হেডার অন্তর্ভুক্ত করার কথা মনে রাখি না, বা কখনও কখনও আমরা হেডারগুলির নাম ভুলে যাই, সেই সময়ে আমরা সমস্ত শিরোনাম অন্তর্ভুক্ত করার জন্য এই কৌশলটি অনুসরণ করতে পারি।
#include <bits/stdc++.h>
C++ এর অন্তর্নির্মিত GCD ফাংশন রয়েছে। সেই ফাংশনটি এত জনপ্রিয় নয় তাই আমরা এটি সম্পর্কে জানি না। ফাংশনটি নিচের মত ব্যবহার করা যেতে পারে −
__gcd(a, b)
বিভিন্ন ডেটাটাইপকে স্ট্রিং-এ রূপান্তর করতে C++-এর to_string() ফাংশন রয়েছে। ধরুন আমরা স্ট্রিং থেকে একটি পূর্ণসংখ্যা বা স্ট্রিং থেকে একটি ফ্লোট করতে চাই, আমরা এই ফাংশনটি ব্যবহার করতে পারি।
float x = 2.3654; string str = to_string(x);
একইভাবে বিপরীত কাজটি করতে, যা স্ট্রিং থেকে পূর্ণসংখ্যায় রূপান্তরিত হয়, আমাদের stoi() ফাংশন আছে।
string num = “256”; int x = stoi(num);
যদি আমরা কোনো ফাংশনের বাইরে কিছু ভেরিয়েবল ঘোষণা করি (গ্লোবাল ভেরিয়েবল) তাহলে সেগুলি স্ট্যাটিক হবে, এবং তাদের ডিফল্ট মান হবে 0৷
যদি আমরা সাধারণত একটি অ্যারে ঘোষণা করি, তাহলে মানটি কিছু আবর্জনা মান হবে। সমস্ত 0 উপাদান সহ একটি অ্যারে ঘোষণা করতে, তারপর ঘোষণাটি নীচের মত হবে −
int arr[10] = {};
আমরা মেমসেট ফাংশন ব্যবহার করে কিছু পূর্বনির্ধারিত মান সহ একটি সম্পূর্ণ অ্যারে বরাদ্দ করতে পারি। আমরা যদি মান 5 দিয়ে অ্যারে আরম্ভ করতে চাই, তবে সমস্ত উপাদান 5 ধরে রাখবে। আমরা এই লাইনগুলি লিখে তা করতে পারি -
int arr[10]; memset(arr, 5, sizeof(arr));