C/C++ 一些重要基礎

constexpr 關鍵字
參考地址


slowpath & fastpath

#define fastpath(x) (__builtin_expect(bool(x), 1))
#define slowpath(x) (__builtin_expect(bool(x), 0))

__builtin_expect():long __buildin_expect(long exp, long c);
__builtin_expect 是GCC(version>=2.96)提供給程序員使用的究飞,由于大部分程序在分支預測方面做得很糟糕薄嫡,所以GCC提供了這個內建函數來幫助程序員處理分支預測,目的是將“分支轉移”的信息提供給編譯器赵誓,這樣編譯器可以對代碼進行優(yōu)化,以減少指令跳轉帶來的性能下降。 意思就是 exp == c 的概率很大滓侍。
fastpath(x) 表示x為1的概率很大, slowpath(x) 表示x為0的概率很大牲芋。 它和if一起時候用撩笆, if(fastpath(x)) 表示執(zhí)行if語句的可能性大, if(slowpath(x))表示執(zhí)行if語句的可能性小缸浦。


reinterpret_cast 類型的轉化
reinterpret_cast 解釋


enable_if 判斷
enable_if 內容解釋


pair 的使用
pair的使用夕冲, 類似swift途中的元祖


std::move
了解
了解


DenseMap 周密映射
詳細解釋


memmove & memcpy
詳解


Runtime源碼中的DisguisedPtr
DisguisedPtr


map & unorder_map
了解0
了解1

emplace & try_emmplace 給映射插入數據
emplace方法
emplace 詳解

emplace 和try_emplace 的區(qū)別
emplace 和try_emplace 使用注意事項

STL 源碼學習
STL 源碼學習
STL 知乎

std::move 的使用
0
1

LLVM中的unordered_map 和map
桶排序百度百科, 可以先了解這個桶排序算法
unordered_map 詳解參考 - 0
unordered_map 詳解參考 - 1
unordered_set和unordered_map 詳解參考
unordered_map hash數據解決沖突

hash 的負載因子和最大因子
深入了解C++(1):hash沖突、退化

malloc / calloc / realloc 之間的區(qū)別
https://zhuanlan.zhihu.com/p/87061787
https://zhuanlan.zhihu.com/p/384034790
https://zhuanlan.zhihu.com/p/57863097

typename 在template中定義一個泛型的變量餐济,使用typename 避免歧義
typename 的使用

pair的使用
就是只有1耘擂、2兩個數組的結果
pair 和tupe區(qū)別

// pair 簡單代碼, 里面有一些對應的方法
template <class T1, class T2>
struct pair
{
    typedef T1 first_type;
    typedef T2 second_type;

    T1 first;
    T2 second;

    pair(const pair&) = default;
    pair(pair&&) = default;
    explicit(see-below) constexpr pair();
    explicit(see-below) pair(const T1& x, const T2& y);                          // constexpr in C++14
    template <class U, class V> explicit(see-below) pair(U&& x, V&& y);          // constexpr in C++14
    template <class U, class V> explicit(see-below) pair(const pair<U, V>& p);   // constexpr in C++14
    template <class U, class V> explicit(see-below) pair(pair<U, V>&& p);        // constexpr in C++14
    template <class... Args1, class... Args2>
        pair(piecewise_construct_t, tuple<Args1...> first_args,
             tuple<Args2...> second_args);

    template <class U, class V> pair& operator=(const pair<U, V>& p);
    pair& operator=(pair&& p) noexcept(is_nothrow_move_assignable<T1>::value &&
                                       is_nothrow_move_assignable<T2>::value);
    template <class U, class V> pair& operator=(pair<U, V>&& p);

    void swap(pair& p) noexcept(is_nothrow_swappable_v<T1> &&
                                is_nothrow_swappable_v<T2>);
};

using 用法 絮姆,替代typedef 更加好用
using 用法

enable_if 在模板中常常使用
enable if

is_convertible 轉換A到B的數據類型
is_convertible

std::forward & std::move 關聯以及區(qū)別
std::forward

std::conditional(x, A, B ) x==true —> A ; false-> B
std::conditional

std::forward_iterator_tag
forward_iterator_tag

explicit
參考

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末醉冤,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子篙悯,更是在濱河造成了極大的恐慌蚁阳,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸽照,死亡現場離奇詭異螺捐,居然都是意外死亡,警方通過查閱死者的電腦和手機矮燎,發(fā)現死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門定血,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人诞外,你說我怎么就攤上這事澜沟。” “怎么了峡谊?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵茫虽,是天一觀的道長。 經常有香客問我既们,道長濒析,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任啥纸,我火速辦了婚禮号杏,結果婚禮上,老公的妹妹穿的比我還像新娘斯棒。我一直安慰自己盾致,他們只是感情好莹妒,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绰上,像睡著了一般。 火紅的嫁衣襯著肌膚如雪渠驼。 梳的紋絲不亂的頭發(fā)上蜈块,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天,我揣著相機與錄音迷扇,去河邊找鬼百揭。 笑死,一個胖子當著我的面吹牛蜓席,可吹牛的內容都是我干的器一。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼厨内,長吁一口氣:“原來是場噩夢啊……” “哼祈秕!你這毒婦竟也來了?” 一聲冷哼從身側響起雏胃,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤请毛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后瞭亮,有當地人在樹林里發(fā)現了一具尸體方仿,經...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年统翩,在試婚紗的時候發(fā)現自己被綠了仙蚜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡厂汗,死狀恐怖委粉,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情面徽,我是刑警寧澤艳丛,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站趟紊,受9級特大地震影響氮双,放射性物質發(fā)生泄漏。R本人自食惡果不足惜霎匈,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一戴差、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧铛嘱,春花似錦暖释、人聲如沸袭厂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纹磺。三九已至,卻和暖如春亮曹,著一層夾襖步出監(jiān)牢的瞬間橄杨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工照卦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留式矫,地道東北人。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓役耕,卻偏偏與公主長得像采转,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子瞬痘,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內容