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