本篇 ShengYu 介紹 C++ std::array 用法與範例,std::array 是 C++ 標準函式庫提供的一個容器,用於表示固定大小的陣列。可以代替傳統的 C 陣列,它在某些情況下比傳統的 C 陣列更具優勢,因為它提供了更好的性能、更多的安全性與功能。接下來看看 std::array 用法範例。
要使用 std::array 的話,需要引入的標頭檔: <array>
C++ 建立 std::array
C++ std::array
的大小在建立時就被固定了,無法改變。這意味著它既提供了陣列的效率,又提供了容器的安全性。
你可以使用不同的方法來建立 std::array
,範例如下,1
2
3
4
5
6
7
8
9
10// g++ std-array.cpp -o a.out
int main() {
std::array<int, 3> myArray; // 建立一個包含3個整數的陣列
std::array<double, 3> anotherArray = {1.1, 2.2, 3.3}; // 建立並初始化陣列
return 0;
}
訪問 std::array
元素
使用 []
運算子來訪問該 std::array
的元素,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16// g++ std-array2.cpp -o a.out
int main() {
std::array<int, 3> myArray = {1, 2, 3};
int value = myArray[2]; // 訪問第三個元素(索引為2)
std::cout << value << "\n";
for (int i = 0; i < myArray.size(); i++) {
std::cout << myArray[i] << "\n";
}
return 0;
}
輸出如下:1
2
3
43
1
2
3
取得 std::array
大小
使用 size()
函數來取得該 std::array
的大小,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16// g++ std-array3.cpp -o a.out
int main() {
std::array<int, 3> myArray;
std::array<double, 3> anotherArray = {1.1, 2.2, 3.3};
size_t size = myArray.size();
std::cout << size << "\n";
size_t size2 = anotherArray.size();
std::cout << size2 << "\n";
return 0;
}
輸出如下:1
23
3
遍歷 std::array
你可以使用 for range 或迭代器來遍歷 std::array
,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19// g++ std-array4.cpp -o a.out
int main() {
std::array<int, 3> myArray = {1, 2, 3};
for (const auto& element : myArray) {
// 使用 element
std::cout << element << "\n";
}
for (std::array<int, 3>::iterator it = myArray.begin(); it != myArray.end(); ++it) {
// 使用 *it
std::cout << *it << "\n";
}
return 0;
}
輸出如下:1
2
3
4
5
61
2
3
1
2
3
修改元素
使用 []
運算子可以修改該 std::array
的元素,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15// g++ std-array5.cpp -o a.out
int main() {
std::array<int, 3> myArray = {1, 2, 3};
myArray[1] = 100; // 修改第二個元素
for (int i = 0; i < myArray.size(); i++) {
std::cout << myArray[i] << "\n";
}
return 0;
}
輸出如下:1
2
31
100
3
檢查是否為空
使用 empty()
函數來檢查該 std::array
是否為空,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16// g++ std-array6.cpp -o a.out
int main() {
std::array<int, 3> myArray = {1, 2, 3};
std::array<double, 3> anotherArray;
bool isEmpty = myArray.empty();
std::cout << isEmpty << "\n";
bool isEmpty2 = anotherArray.empty();
std::cout << isEmpty2 << "\n";
return 0;
}
輸出如下:1
20
0
比較 std::array
你可以使用 ==
或 !=
運算子來比較兩個 std::array
是否相等,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24// g++ std-array7.cpp -o a.out
int main() {
std::array<int, 3> myArray1 = {1, 2, 3};
std::array<int, 3> myArray2 = {1, 2, 3};
std::array<int, 3> myArray3 = {4, 5, 6};
std::array<int, 3> myArray4;
if (myArray1 == myArray2) {
std::cout << "與 myArray2 相等\n";
}
if (myArray1 == myArray3) {
std::cout << "與 myArray3 相等\n";
}
if (myArray1 == myArray4) {
std::cout << "與 myArray4 相等\n";
}
return 0;
}
輸出如下:1
與 myArray2 相等
以上就是 C++ std::array 用法與範例介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支援一下!
其它相關文章推薦
C/C++ 新手入門教學懶人包
std::string 用法與範例
std::vector 用法與範例
std::sort 用法與範例
std::map 用法與範例
std::set 用法與範例