#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...