g++ কম্পাইলার হলো Linux-এ GNU-এর জন্য একটি C++ কম্পাইলার।
g++ কম্পাইলার C++ প্রোগ্রামিং ল্যাঙ্গুয়েজের স্ট্যান্ডার্ড লাইব্রেরিয়ে না থাকা কিছু বিশেষ ডেটা স্ট্রাকচারের সাপোর্ট যোগ করে। এগুলাকে পলিসি-বেসড ডেটা স্ট্রাকচার বলা হয়।
পলিসি-বেসড ডেটা স্ট্রাকচার প্রোগ্রামারকে C++ std লাইব্রেরির স্ট্যান্ডার্ড ডেটা স্ট্রাকচারের চেয়ে উচ্চ পারফরম্যান্স, সিম্যান্টিক সেফটি এবং:flexibility দেয়।
এই ডেটা স্ট্রাকচারগুলো প্রোগ্রামে যোগ করতে নিচের লাইনগুলো যোগ করতে হয়:
#include <ext/pb_ds/assoc_container.hpp> using namespace __gnu_pbds;
উদাহরণ
এই পলিসি-বেসড ডেটা স্ট্রাকচার কীভাবে কাজ করে তা দেখতে একটি প্রোগ্রাম:
#include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include <functional> #include <iostream> using namespace __gnu_pbds; using namespace std; typedef tree, rb_tree_tag, tree_order_statistics_node_update> new_data_set; int main() { new_data_set data; data.insert(34); data.insert(785); data.insert(12); data.insert(87); cout << "The value at index 2 is " << *data.find_by_order(2) << endl; cout << "The index of number 87 is " << data.order_of_key(87) << endl; return 0; }
আউটপুট
The value at index 2 is 785 The index of number 87 is 4
এই ডেটা স্ট্রাকচারগুলো এতটাই বহুমুখী যে আপনি এলিমেন্টের ইনডেক্স চেক করা, ইনডেক্সে এলিমেন্ট খুঁজে বের করা ইত্যাদি অনেক ফাংশন ব্যবহার করতে পারেন।