C 標頭檔案系列 bitset

2022-07-05 05:09:09 字數 442 閱讀 8388

該標頭檔案有關位集,實際上是vector對應的固定大小版本(fix-sized),位的大小在編譯期固定。

位本質上對應bool的概念,只有0或1,true或false兩種對立的值。 但很可惜,位元組才是機器上最小的儲存單元,所以bool基本上是由乙個位元組大小。

bitset是出於高效的空間利用為目的才出現的。

在這裡,bitset可以看成以01位代表的整數。 對於整數,我們又很多操作可以執行:亦或左移等等。 標頭檔案過載了這些操作符,方便我們對位集進行運算:

因為c++最小的內建型別大小是1個位元組,而bit概念上只需要1個bit,所以,與vector一樣,bitset也有乙個**成員類reference, 用來執行bit相關的操作。

C 標頭檔案系列 array

注意,該標頭檔案僅在c 11中標準才開始出現。與語言內建的陣列一樣,array類模版支援幾乎所有內建陣列包含的特性 那既然與內建陣列一樣,為什麼還要定義這樣乙個模版呢?c 委員會是想造輪子嗎 當然不是!array模版類實際上是內建陣列的聚合,外加一層封裝。正是由於這層介面,才使得陣列能與stl接軌,...

C 標頭檔案系列 iterator

該標頭檔案圍繞迭代器展開,定義了一系列與迭代器有關的概念,但最最最重要的一點就是 它和其它容器一起實現了c 容器的iterator設計模式。上述文字摘自c 14標準草案,簡而言之,迭代器就是對指標的一層封裝,提供了統一的介面。使用迭代器有很多好處 詳細請見設計模式。迭代器主要有5類 iterator...

C 標頭檔案系列 iterator

該標頭檔案圍繞迭代器展開,定義了一系列與迭代器有關的概念,但最最最重要的一點就是 它和其它容器一起實現了c 容器的iterator設計模式。上述文字摘自c 14標準草案,簡而言之,迭代器就是對指標的一層封裝,提供了統一的介面。使用迭代器有很多好處 詳細請見設計模式。迭代器主要有5類 iterator...