C++一維動態陣列意思
在C++中,動態陣列(Dynamic Array)是指陣列的大小可以在運行時改變,與定義時就固定大小的靜態陣列(Static Array)不同。一維動態陣列就是指只有一個下標維度的動態陣列。
一維動態陣列在C++中通常使用標準模板庫(STL)中的vector
容器來實現。vector
容器可以自動擴展和縮小它所管理的內存,以適應元素的增加或減少。
以下是如何使用vector
來創建和操作一維動態陣列的示例:
#include <iostream>
#include <vector>
int main() {
// 使用vector來創建一個一維動態陣列
std::vector<int> numbers;
// 向陣列中添加元素
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);
// 輸出陣列中的元素
for (int number : numbers) {
std::cout << number << " ";
}
std::cout << std::endl;
// 刪除陣列中的元素
numbers.erase(numbers.begin() + 1);
// 再次輸出陣列中的元素
for (int number : numbers) {
std::cout << number << " ";
}
std::cout << std::endl;
// 改變陣列的大小
numbers.resize(5);
// 輸出陣列中的元素,注意最後兩個元素是未初始化的
for (int number : numbers) {
std::cout << number << " ";
}
std::cout << std::endl;
return 0;
}
這個示例中,我們首先定義了一個vector
容器numbers
,然後使用push_back
方法向其中添加了三個元素。接著,我們使用一個for循環來輸出陣列中的元素。然後,我們刪除了陣列中的第二個元素,並再次輸出了剩下的元素。最後,我們使用resize
方法將陣列的大小改變為5,並輸出了所有元素,注意到最後兩個元素是未初始化的。
使用vector
來管理一維動態陣列比直接使用指針和動態內存分配(如使用new
和delete
)更加安全和高效,因為vector
可以自動管理內存並且提供檢錯功能。