C++ STL(標(biāo)準(zhǔn)模板庫(kù))是一個(gè)功能強(qiáng)大的庫(kù),提供了許多常用的數(shù)據(jù)結(jié)構(gòu)和算法。在 C++ STL 中,并沒有直接支持靜態(tài)數(shù)組的容器。但是,你可以使用 C++ STL 中的 std::array
或者 std::vector
來(lái)實(shí)現(xiàn)類似靜態(tài)數(shù)組的功能。
std::array
是一個(gè)固定大小的數(shù)組容器,它在編譯時(shí)確定大小,不能動(dòng)態(tài)調(diào)整。這意味著你需要在創(chuàng)建 std::array
時(shí)指定其大小,之后無(wú)法更改。與靜態(tài)數(shù)組類似,std::array
在棧上分配內(nèi)存,因此它的性能通常比 std::vector
更高。示例:
#include<iostream>
#include<array>
int main() {
std::array<int, 5> arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.size(); ++i) {
std::cout<< arr[i] << " ";
}
return 0;
}
std::vector
是一個(gè)動(dòng)態(tài)數(shù)組容器,它可以在運(yùn)行時(shí)調(diào)整大小。雖然它的內(nèi)存是在堆上分配的,但它提供了與靜態(tài)數(shù)組類似的操作。你可以將 std::vector
視為一個(gè)可以動(dòng)態(tài)調(diào)整大小的靜態(tài)數(shù)組。示例:
#include<iostream>
#include<vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int i = 0; i < vec.size(); ++i) {
std::cout<< vec[i] << " ";
}
return 0;
}
總之,雖然 C++ STL 沒有直接支持靜態(tài)數(shù)組的容器,但你可以使用 std::array
或 std::vector
來(lái)實(shí)現(xiàn)類似靜態(tài)數(shù)組的功能。在需要固定大小的數(shù)組時(shí),可以選擇 std::array
;在需要?jiǎng)討B(tài)調(diào)整大小的數(shù)組時(shí),可以選擇 std::vector
。