《STL源码剖析》--知识点
本書主要講的是SGI STL。針對一些小點記錄一下。
1、原生指針:即為普通指針
smart指針:類似于指針的對象;還有著重說明的一種智能指針,如auto_ptr,可以指向任何類型,還具有擁有權的概念,在退出某部分堆時能自動釋放資源,所以在防止資源泄漏忘記調用delete時考慮采用;還有stl中用的迭代器就是一種智能指針。
2、二層架構
stl算法中經常使用雙層架構,一般稱呼上層函數(shù)為dispatch function(分派函數(shù)、派送函數(shù)),令函數(shù)傳遞調用過程中產生迭代器類型(iterator category)的臨時對象,再利用編譯器的參數(shù)推導機制(argumentdeduction),自動調用某個函數(shù)。
上層函數(shù)調用時不分類型對待,其中來根據(jù)參數(shù)或者模板的類別,調用下層這個函數(shù)就會根據(jù)傳入的參數(shù)的類型分別重載不同的版本,來達到效率最高。一般嵌套調用的這個函數(shù)的某個參數(shù)為某個模板類型的value_type。
3、雙下劃線代表stl內部使用的東西,不對外公開。
4、質變(mutating)與非質變算法
質變是只會更改區(qū)間內的元素內容;
5、區(qū)分重載的方法
在3.5節(jié)中,定義了五個空的struct來區(qū)分重載,此時沒有參數(shù)名字,只是用來當做標記。
?
總結
以上是生活随笔為你收集整理的《STL源码剖析》--知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《STL源码剖析》学习--六大组件
- 下一篇: 《STL源码剖析》学习--STL体现的思