Utilites

簡介

? Class pair<> and class tuple<>

? Smart pointer classes (class shared_ptr<> and class unique_ptr)

? Numeric limits

? Type traits and type utilities

? Auxiliary functions (for example, min(), max(), and swap())

? Class ratio<>

? Clocks and timers

? Some important C functions

pairs

pair操作

1,具有成員模板構(gòu)造函數(shù)(當(dāng)pair類型不同但可以隱式類型轉(zhuǎn)換時(shí)調(diào)用)

2,pair的成員的類型的拷貝構(gòu)造函數(shù)必須是常量引用

tuples

擴(kuò)展pair,使得tuple支持多個(gè)元素

tuple操作

1,使用get<0>(t)等獲取每個(gè)元素

2,賦值操作時(shí)右操作數(shù)必須顯式的為tuple類型,不支持隱式轉(zhuǎn)換

tuple_size<tupletype>::value返回tuple的元素個(gè)數(shù)

tuple_element<index, tupletype>::type返回tuple的第index個(gè)元素的類型

tuple_cat()將多個(gè)tuple組合為一個(gè)整體

shared_ptr

多個(gè)指針共享同一資源,當(dāng)最后一個(gè)指針銷毀時(shí)會將資源釋放。

shared_ptr使用1
shared_ptr使用2
weak_ptr使用

1,weak_ptr的的拷貝和賦值不會增加或減少對應(yīng)的shared_ptr的引用計(jì)數(shù)

2,使用lock()函數(shù)獲取weak_ptr綁定的shared_ptr

原子操作
unique_ptr操作
內(nèi)建類型的最小大小

數(shù)值極限<limits>

類型萃取<type_traits>

A type trait provides a way to deal with the properties of a type. It is a template, which at compile time yields a specific type or value based on one or more passed template arguments, which are usually types.

引用轉(zhuǎn)換

std::reference_wrapper<>定義在<functional>,將參數(shù)轉(zhuǎn)化為引用類型來適用函數(shù)模板std::vector<std::reference_wrapper<MyClass>> coll; // OK

比較輔助函數(shù)

定義在<algorithm>

std::swap函數(shù)定義在<utility>

編譯時(shí)分?jǐn)?shù)計(jì)算類

ratio<>定義在<ratio>

例如ratio<3, 5>表示五分之三,類成員num,den分別表示分子和分母

例如std::ratio_add<std::ratio<2, 7>, std::ratio<2,6>>::type為std::ratio<13, 21>

例如std::nano,等價(jià)于std::ratio<1, 1000000000LL>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 接著上節(jié) condition_varible ,本節(jié)主要介紹future的內(nèi)容,練習(xí)代碼地址。本文參考http:/...
    jorion閱讀 15,033評論 1 5
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,655評論 1 51
  • 以下是我最近幾個(gè)星期學(xué)習(xí)c++11做的一些記錄,包括收集的一些信息,整理的相關(guān)概念和寫的一些測試代碼。具體相關(guān)代碼...
    在河之簡閱讀 2,962評論 0 6
  • 1. 讓自己習(xí)慣C++ 條款01:視C++為一個(gè)語言聯(lián)邦 為了更好的理解C++,我們將C++分解為四個(gè)主要次語言:...
    Mr希靈閱讀 2,981評論 0 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139

友情鏈接更多精彩內(nèi)容