17 c 標準庫特殊設施

2021-10-08 10:38:18 字數 1948 閱讀 2942

#include

#include

#include

#include

#include

#include

using

namespace std;

void

tupletest()

;void

bitsettest()

;void

regextest()

;void

randomtest()

;void

iotest()

;int

main()

return0;

}// 當我們像將一些物件組合成單一物件時可以使用tuple

//void

tupletest()

; get<

0>

(tuple1)

;// 返回第乙個資料

get<

0>

(tuple1)=2

;// 設定第乙個資料

int size = tuple_size<

decltype

(tuple1)

>

::value;

// 獲取 tuple1 的大小

// 宣告乙個與 tuple1 0 一樣型別的變數

// 為什麼可以這樣使用??

// 因為模板是在編譯時例項化,所以編譯後下面的**是 int a;

tuple_element<0,

decltype

(tuple1)

>

::type a;

}// 位運算

void

bitsettest()

// 正規表示式

void

regextest()

string replacefmt =

"$1.$2"

;// 替換格式,$1 表示第乙個表示式

// 將匹配的字串替換為replacefmt格式輸出為

// teststr為abcdefgh,匹配為abcdef,格式為abc.ef,替換為abc.efgh

cout <<

regex_replace

(teststr, r, replacefmt)

<< endl;

}// 隨機數

void

randomtest()

// io流

void

iotest()

; cin >> skipws;

cout << endl;

cout << cin.

fail()

<< endl;

// 未格式化輸入輸出操作

char c1;

cin.

get(c1)

;// 讀取乙個位元組

cout.

put(c1)

;// 輸出乙個位元組

c1 = cin.

peek()

;// 讀取乙個位元組,但不從流中刪除它

cin.

unget()

;// 向後移動乙個位元組(當我們讀取乙個位元組時,向前移動乙個位元組)

cin.

putback

(c1)

;// 將讀取的位元組放回去

// 流隨機訪問

auto ipos = cin.

tellg()

;// 獲取當前流的位置

cin.

seekg

(ipos)

;// 設定當前流的位置

auto opos = cout.

tellp()

;// 同上,istream 以 g 結尾,ostream 以 p 結尾

cout.

seekp

(opos)

;}

標準庫特殊設施

一 tuple型別 1 定義和初始化tuple 類似pair,每個pair都恰好有兩個成員,tuple可以有任意數量的成員 tuplet 值初始化 tuplet1 1,2,3 初始值初始化 auto t make tuple 1,2,3 類似make pair函式 get 0 t get標準庫函式訪...

十七 標準庫特殊設施

tuple,當我們希望將一些資料組合成單一物件,但又不想麻煩的定義乙個新資料結構來表示這些資料時,使用tuple,簡易struct?tuplethree 是explicit,所以不能使用 auto item make tuple 1,abc 5.0 成員是未命名的,所以需要使用get標準庫函式模板 ...

C 相關 部分標準庫特殊設施

tuple是c 11新標準裡的型別。它是乙個類似pair型別的模板。pair型別是每個成員變數各自可以是任意型別,但是只能有倆個成員,而tuple與pair不同的是它可以有任意數量的成員。但是每個確定的tuple型別的成員數目是固定的。宣告如下 tupletp 1,2,6.2 取值 cout get...