C 11 14介紹(四) 新增容器(一)

2021-09-25 23:02:46 字數 718 閱讀 9436

std::array會在編譯時建立乙個固定大小的陣列,std::array不能夠被隱式的轉換成指標,使用std::array很簡單,只需指定其型別和大小即可:

std::arrayarr= ;

int len = 4;

std::arrayarr = ; // 非法, 陣列大小引數必須是常量表示式

將其相容c風格的介面:

void foo(int *p, int len) 

std::arrayarr = ;

// c 風格介面傳參

// foo(arr, arr.size()); // 非法, 無法隱式轉換

foo(&arr[0], arr.size());

foo(arr.data(), arr.size());

// 使用 `std::sort`

std::sort(arr.begin(), arr.end());

std::forward_list 是乙個列表容器,使用方法和 std::list 基本類似。

需要知道的是,和 std::list 的雙向鍊錶的實現不同,std::forward_list使用單向鍊錶進行實現,提供了 o(1) 複雜度的元素插入,不支援快速隨機訪問(這也是鍊錶的特點),也是標準庫容器中唯一乙個不提供 size()方法的容器。當不需要雙向迭代時,具有比 std::list 更高的空間利用率。

C 11 14介紹(四) 新增容器(三)

傳統c 中的容器,除了std pair外,沒有現成的資料結構能用來存放不同型別的資料,但是std pair的缺陷是只能儲存 兩個元素。元組的使用有三個核心的函式 在c 14下執行 include include auto get student int id int main std get除了使用...

C 11 14介紹(八) 其他雜項

long long int 並不是 c 11 最先引入的,其實早在 c99,long long int 就已經被納入 c 標準中,所以大部分的編譯器早已支援。c 11 的工作則是正式把它納入標準庫,規定了乙個 long long int 型別至少具備 64 位的位元數。c 相比於 c 的一大優勢就在...

JMeter 四 介紹HTTP協議相關配置元件

背景介紹 http協議仍是網際網路工作中的大部分內容,jmeter也是全力支撐,滿足各種http測試條件。1 http cookie manager cookie是瀏覽器產生的,用來儲存使用者資訊的 該屬性管理器用於管理test plan執行時的所有cookie。http cookie manage...