এই নিবন্ধে আমরা C++ এ তালিকা::get_allocator() ফাংশনের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
STL-এ একটি তালিকা কী?
তালিকা হল একটি ডেটা স্ট্রাকচার যা ক্রমাগত সময় সন্নিবেশ এবং ক্রমানুসারে কোথাও মুছে ফেলার অনুমতি দেয়। তালিকাগুলি দ্বিগুণ লিঙ্কযুক্ত তালিকা হিসাবে প্রয়োগ করা হয়। তালিকাগুলি অ-সংলগ্ন মেমরি বরাদ্দের অনুমতি দেয়। তালিকা অ্যারে, ভেক্টর এবং ডিক এর চেয়ে কন্টেইনারে যেকোন অবস্থানে উপাদানের উত্তম সন্নিবেশ নিষ্কাশন এবং সরানো সঞ্চালন করে। তালিকায় উপাদানটির সরাসরি অ্যাক্সেস ধীর এবং তালিকা ফরওয়ার্ড_লিস্টের অনুরূপ, তবে ফরোয়ার্ড তালিকা অবজেক্টগুলি একক লিঙ্কযুক্ত তালিকা এবং সেগুলি কেবলমাত্র ফরোয়ার্ডে পুনরাবৃত্তি করা যেতে পারে।
list::get_allocator() কি?
list::get_allocator() হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন যা হেডার ফাইলে ঘোষণা করা হয়েছে। get_allocator() তালিকা কন্টেইনারের বরাদ্দকারী প্রদান করে। সহজ কথায় এটি তালিকা কন্টেইনারের বস্তুর একটি অনুলিপি প্রদান করে।
সিনট্যাক্স
list_container.get_allocator(); This function accepts no parameter.
রিটার্ন মান
এই ফাংশনটি একটি তালিকা ধারক বস্তুর অনুলিপি প্রদান করে।
উদাহরণ
/*নিচের কোডে আমরা C++ STL-এ উপস্থিত একটি get_allocator ব্যবহার করে তালিকায় মান সন্নিবেশ করছি।*/
#include <bits/stdc++.h>
using namespace std;
int main(void){
//create a list
list<int> myList;
int *ptr;
ptr = myList.get_allocator().allocate(4);
//inserting data into an array
for(int i = 0; i > 4; i++)
ptr[i] = i;
//printing the data
cout<<"elements of an array : ";
for (int i = 0; i < 4; i++)
cout << ptr[i] << " ";
} আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে
elements of an array : 0 1 2 3
উদাহরণ
/* নিচের কোডে আমরা হেডার ফাইল ব্যবহার করে C++ STL-এ উপস্থিত একটি get_allocator ব্যবহার করে তালিকায় মান সন্নিবেশ করাচ্ছি। */
#include <iostream>
#include <list>
int main (){
std::list<int> myList;
int *ptr;
ptr = myList.get_allocator().allocate(5);
for(int i=0; i<5; ++i)
ptr[i]=i;
std::cout <<"elements of an array : ";
for (int i=0; i<5; ++i)
std::cout << ' ' << ptr[i];
myList.get_allocator().deallocate(ptr,5);
return 0;
} আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে
elements of an array : 0 1 2 3 4