C 基礎知識 持續更新

2021-10-05 23:10:37 字數 1309 閱讀 6965

std::unordered_set

std::unordered_set是乙個不含重複元素的容器,其中的每乙個元素都是獨一無二的。

和unordersd_map類似這個unorder暗示著,這兩個標頭檔案中類的底層實現----hash

std::pair
這個類主要功能是把兩個不同型別或者相同型別的資料組合成乙個資料。可以使用first、second來訪問變數。
初始化乙個pair可以使用建構函式,也可以使用std::make_pair函式,make_pair函式的定義如下:

template pair make_pair(t1 a, t2 b)

這有乙個例子,如下

#include #include #include using namespace std;

int main ()

其執行結果如下:

1 the price of tomatoes is $3.25

2 the price of lightbulbs is $0.99

3 the price of shoes is $20

參考:

(1)size_t和int

size_t是一些c/c++標準在stddef.h中定義的。這個型別足以用來表示物件的大小。size_t的真實型別與作業系統有關。

在32位架構中被普遍定義為:

typedef   unsigned int size_t;
而在64位架構中被定義為:

typedef  unsigned long size_t;
size_t在32位架構上是4位元組,在64位架構上是8位元組,在不同架構上進行編譯時需要注意這個問題。而int在不同架構下都是4位元組,與size_t不同;且int為帶符號數,size_t為無符號數。

(2)ssize_t

ssize_t是有符號整型,在32位機器上等同與int,在64位機器上等同與long int.

(3)size_t和ssize_t作用

size_t一般用來表示一種計數,比如有多少東西被拷貝等。例如:sizeof操作符的結果型別是size_t,該型別保證能容納實現所建立的最大物件的位元組大小。 它的意義大致是「適於計量記憶體中可容納的資料專案個數的無符號整數型別」。所以,它在陣列下標和記憶體管理函式之類的地方廣泛使用。

而ssize_t這個資料型別用來表示可以被執行讀寫操作的資料塊的大小.它和size_t類似,但必需是signed.意即:它表示的是signed size_t型別的。

參考:

電子基礎 電子基礎知識 持續更新

基本電路原理 電壓和水壓一樣,水壩築得越高水壓越高,電流和水流一樣,只要在一條渠道上假設渠道寬度深度一致,在渠道各處水流量是一致的,這就是串聯電路中電流處處相等的道理。如果兩條同樣的渠道共同向一處供水水量會加倍,即併聯電路的匯合處電流是兩條 或多條 電路電流之和,這就是基爾霍夫電流節點定律。如果有 ...

golang基礎知識點(持續更新中 )

第一次聽說golang應該是在2014年,從朋友那裡聽說。是google開發的。但是作為一名比較笨的it民工來講自學一門新語言花費時間和精力太大。也正是因為國內公司現在用的比較少,所以一直沒有去了解。換了新公司後因為工作需要不得不學習go語言以前做過php,node.js也做過前端開發。所以學習起來...

Linux基礎知識彙總 2 持續更新中

軟體安裝 find,at,特權,facl,shell xargs 將命令分頁處理 find user hadoop a perm 741 xargs chmod g x 計畫任務 at l 列表 d 刪除 f 批處理 定時處理 at 時間 進入編輯模式 定時執行 batch 與at一致,但需要機器空...