Array的簡單使用(Boost和STL通用)
阿新 • • 發佈:2020-12-11
[//]:#(Array的簡單使用(Boost和STL通用))
# 目錄
- [目錄](#目錄)
- [介紹](#介紹)
- [使用](#使用)
- [Boost和STL的區別](#boost和stl的區別)
# 介紹
本來這一次是想簡單介紹一下Boost裡面的協程庫的使用的,但是`Boost.Coroutine`已經被廢棄了,而`Boost.Coroutine2`目前只有非對稱的協程支援,個人感覺並不是特別具有使用的價值。而`C++20`中的協程,IDE對其的支援並不是特別好,程式碼報錯異常多,因此我打算在完全摸透後再考慮寫這一部分的內容。
`Boost.Array`目前來說,和之前的`Boost.Random`一樣,都進入了`C++11`的標準中。因此,其作者推薦如果使用了`C++11`,那麼最好使用標準庫中的`Array`而不是`Boost`中的。而本文雖然主要介紹`Boost.Array`,但是也會對`C++11`中的進行一些講解,同時對他們進行對比。
`Boost.Array`的提出,主要是因為在當時,STL中並沒有一個具有`C++`風格的,固定大小的容器。如果需要使用一種類似於C語言中陣列的容器,開發者一般會直接使用C語言中的陣列或者是使用`std::vector`。而C中的陣列對於C++來說,略顯不優雅;而`std::vector`由於是動態的,相對來說效能上會有不必要的損失,也沒辦法在模板中使用(C++20中,`std::vector`可以使用在模板中,而且支援大部分的函式)。
# 使用
`Boost.Array`是一個模板,需要兩個模板引數,分別是資料的型別和陣列的大小。
```C++
boos