কম্পিউটার টিউটোরিয়াল

C++-এ std::vector এবং std::array-এর পার্থক্য


ভেক্টর এবং অ্যারের মধ্যে পার্থক্যগুলো নিচে দেওয়া হলো -

  • ভেক্টর এলিমেন্ট স্টোর করার একটি সিকোয়েনশিয়াল কন্টেইনার এবং এটি ইন্ডেক্স-ভিত্তিক নয়।
  • অ্যারে একই টাইপের এলিমেন্টের একটি ফিক্সড-সাইজ সিকোয়েনশিয়াল কালেকশন স্টোর করে এবং এটি ইন্ডেক্স-ভিত্তিক।
  • ভেক্টর ডাইনামিক প্রকৃতির, তাই এলিমেন্ট ইনসার্ট করলে এর আকার বাড়ে।
  • অ্যারে ফিক্সড সাইজ, একবার ইনিশিয়ালাইজ করলে রিসাইজ করা যায় না।
  • ভেক্টর বেশি মেমরি chiếm করে।
  • অ্যারে মেমরি-এফিশিয়েন্ট ডেটা স্ট্রাকচার।
  • ভেক্টর এলিমেন্ট অ্যাক্সেস করতে বেশি সময় নেয়।
  • অ্যারে এলিমেন্ট কনস্ট্যান্ট টাইমে অ্যাক্সেস করে কারণ এলিমেন্টগুলো কন্টিগ্যুয়াস মেমরিতে থাকে।

ভেক্টর এবং অ্যারে নিচের সিন্ট্যাক্স দিয়ে ডিক্লেয়ার করা যায় -

ভেক্টর ডিক্লেরেশন: vector<datatype> array_name;
অ্যারে ডিক্লেরেশন: type array_name[array_size];
ভেক্টর ইনিশিয়ালাইজেশন: vector<datatype> array_name = {values};
অ্যারে ইনিশিয়ালাইজেশন: datatype array_name[array_size] = {values};

std::vector:

উদাহরণ কোড

#include <iostream> 
#include <vector> 
using namespace std; 
int main() { 
    vector<vector<int>> v{ {4, 5, 3}, {2, 7, 6}, {3, 2, 1, 10} }; 
    cout << "the 2D vector is:" << endl; 
    for (int i = 0; i < v.size(); i++) { 
        for (int j = 0; j < v[i].size(); j++) 
            cout << v[i][j] << " "; 
        cout << endl; 
    } 
    return 0; 
}

আউটপুট

the 2D vector is:
4 5 3
2 7 6
3 2 1 10

std::array:

উদাহরণ কোড

#include <iostream> 
#include <array> 
using namespace std; 
int main() { 
    array<int,4> a = {10, 20, 30, 40}; 
    cout << "The size of array is: "; 
    cout << a.size() << endl; 
    cout << "Maximum number of elements array can hold is: "; 
    cout << a.max_size() << endl; 
    cout << "The array elements are (using at()): "; 
    for (int i = 0; i < 4; i++) 
        cout << a.at(i) << " "; 
    cout << endl; 
    a.fill(1); 
    cout << "Array after filling operation is: "; 
    for (int i = 0; i < 4; i++) 
        cout << a[i] << " "; 
    return 0; 
}

আউটপুট

The size of array is: 4
Maximum number of elements array can hold is: 4
The array elements are (using at()): 10 20 30 40
Array after filling operation is: 1 1 1 1

  1. C++-এ 'struct' এবং 'typedef struct'-এর পার্থক্য

  2. C++ স্ট্রিং কনস্ট্যান্ট এবং ক্যারেক্টার কনস্ট্যান্টের পার্থক্য

  3. C++-এ রিলেশনাল অপারেটর (==) এবং std::string::compare() এর পার্থক্য

  4. C++-এ endl এবং \n এর তুলনা