久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

泛型編程基礎(chǔ)

 秋水共藍天 2023-09-19

1.C++兩種抽象方法

(1)面向?qū)ο缶幊?/strong>

  • 封裝(Encapsulation)
  • 繼承(Inheritance)
  • 多態(tài)(Polymorphism)

(2)泛型編程

  • 概念(concepts)
  • 模型化(modeling)
  • 強化(refinement)

2.泛型編程概念

    泛型編程(Generic Programming) 指在多種數(shù)據(jù)類型上皆可操作,。和面向?qū)ο缶幊滩煌?,它并不要求額外的間接層來調(diào)用函數(shù),而是使用完全一般化并可重復(fù)使用的算法,,算法效率與針對某特定數(shù)據(jù)類型而設(shè)計的算法相同,。

(1)概念(concepts)

    類型必須滿足的一組條件?;镜腸oncepts中有賦值,、默認構(gòu)造、相等比較,、小于判斷等,。

(2)模型(modeling)

    當類型滿足這個條件,即為該concepts的一個model,。

    如果能夠復(fù)制類型X的值,,或者賦給X對象一個新值的話,則類型X是Assignable的一個model,。

(3)強化(refinement)

   如果concept  C2滿足concept  C1的所有條件,,再加上其他額外條件,則C2是C1的強化(refinement),。

     

3.泛型編程實現(xiàn)

(1)模板

  • 函數(shù)模板
  • 類模板

(2)STL

    STL(Standard Template Library,,標準模板庫) 是泛型編程思想的實現(xiàn),于1994年被納入C++標準程序庫,。STL是一種高效,、泛型、可交互操作的軟件組件,,巨大,,而且可以擴充,它包含很多計算機基本算法和數(shù)據(jù)結(jié)構(gòu),,而且將算法與數(shù)據(jù)結(jié)構(gòu)完全分離,,其中算法是泛型的,,不與任何特定數(shù)據(jù)結(jié)構(gòu)或?qū)ο箢愋拖翟谝黄稹?/p>

    STL以迭代器(Iterators)和容器(Containers)為基礎(chǔ),是一種泛型算法(Generic Algorithms)庫,,容器的存在使這些算法有東西可以操作,。STL包含泛型算法(algorithms)、泛型指針(iterators),、泛型容器(containers),、函數(shù)對象(function objects)。

    迭代器(Iterators)是STL的核心,,它們是泛型指針,,是一種指向其他對象(objects)的對象,迭代器能夠遍歷由對象所形成的區(qū)間(range),。

   迭代器一般分為五種:

  • Input Iterator     只讀,,單向移動,如STL中的istream_iterator,。
  • Output Iterator   只寫,,單向移動,如STL中的ostream_iterator,。
  • Forward Iterator   具有讀,、寫性,單向移動,。
  • Bidirections Iterator   具有讀,、寫性,雙向移動,。
  • ???????Random Access Iterator   具有讀,、寫性,,隨機訪問

       

4.泛型編程優(yōu)缺點

1)通用性強

            泛型算法是建立在語法一致性上,,運用到的類型集是無限的/非綁定的。

2)效率

            編譯期能確定靜態(tài)類型信息,,其效率與針對某特定數(shù)據(jù)類型而設(shè)計的算法相同,。

3)類型檢查嚴

            靜態(tài)類型信息被完整的保存在了編譯期,編譯期發(fā)覺更多潛在的錯誤,。

4)二進制復(fù)用性

           泛型算法是建立在語法一致性上,,語法是代碼層面的,語法上的約定無法體現(xiàn)在二進制層面,。泛型算法實現(xiàn)的庫,,其源代碼基本上是必須公開的。而傳統(tǒng)的C庫全是以二進制形式發(fā)布的,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多