溫馨提示×

c++ resize能否改變數組大小

c++
小樊
124
2024-06-24 16:48:36
欄目: 編程語言

在c++中,resize()函數可以改變數組的大小。該函數在標準庫中的vector容器和array容器中都提供了實現。

對于vector容器,resize()函數用于改變容器中元素的數量。如果新的大小大于當前大小,則容器會在末尾添加新元素,并將其初始化為默認值。如果新的大小小于當前大小,則容器會刪除多余的元素。例如:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    
    std::cout << "Current size: " << vec.size() << std::endl;
    
    vec.resize(8); // 增加到8個元素
    
    std::cout << "New size: " << vec.size() << std::endl;
    
    vec.resize(3); // 減少到3個元素
    
    std::cout << "New size: " << vec.size() << std::endl;
    
    return 0;
}

對于array容器,resize()函數用于改變數組的大小。和vector不同的是,array的大小在編譯時就已經確定,因此resize()函數只能通過重新定義一個新的array來改變大小。例如:

#include <iostream>
#include <array>

int main() {
    std::array<int, 5> arr = {1, 2, 3, 4, 5};
    
    arr = {1, 2, 3}; // 重新定義一個新的array,大小為3
    
    return 0;
}

因此,c++中的resize()函數可以改變vector容器中元素的數量,但對于array容器只能通過重新定義新的array來改變大小。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女