STL 原始碼剖析 functional

2021-06-26 02:00:33 字數 1057 閱讀 3182

其中比較有意思的兩個函式模板,mem_fun與mem_fun_ref,目的是用於將成員函式轉換為可用的函式物件。

具體實現如下所示(非stl原始碼):

class kvalshow

public:

void show()

void setval(int n)

bool sort_fun(const kvalshow* k)

private:

int m_n;

};

template class convert_mem_fun

public:

tr operator()(tmem& tm)

tr operator()(tmem* tm)

private:

tr (tmem::*m_pfn)();

};template class convert_mem_fun1

public:

///> 適應值版本

tr operator()(tmem& tm, targ ta)

///> 適應指標版本

tr operator()(tmem* tm, targ ta)

private:

tr (tmem::*m_pfn)(targ);

};template convert_mem_fun1convert_mem(tr (tmem::*pfn)(targ))

template convert_mem_funconvert_mem(tr (tmem::*pfn)())

使用方式:

std::for_each(vectval.begin(), vectval.end(), convert_mem(&kvalshow::show));

std::sort(vectval.begin(), vectval.end(), convert_mem(&kvalshow::sort_fun));

STL原始碼剖析

這兩天略讀完了 stl原始碼剖析 之所以是略讀,就是只看大體,不講具現 這個詞在 深度探析c 物件模型 中比較多 已經看過好幾本c 的書了,感覺c 本身設計的博大精深,而c 編譯器就更是乙個神奇的東西,換句話說,你永遠不知道c 編譯器揹著你做了哪些出乎你意料的事 不扯遠了 我主要是想看stl容器的具...

STL原始碼剖析

這兩天略讀完了 stl原始碼剖析 之所以是略讀,就是只看大體,不講具現 這個詞在 深度探析c 物件模型 中比較多 已經看過好幾本c 的書了,感覺c 本身設計的博大精深,而c 編譯器就更是乙個神奇的東西,換句話說,你永遠不知道c 編譯器揹著你做了哪些出乎你意料的事 不扯遠了 我主要是想看stl容器的具...

STL原始碼剖析

花了兩天時間略讀了一下 stl原始碼分析 看了個大體,對於細節並沒有深究。之所以想翻翻這本書,主要是想看看stl中的特性 介面卡的具體實現。看完之後收穫還是蠻大的,模板的各種組合讓我眼前一亮,下面大概總結一些內容。1.記憶體分配 sgi記憶體分配採用兩級實現,對於大記憶體塊的申請 大於128k 由第...