導航:首頁 > 編程語言 > 泛型編程與模板

泛型編程與模板

發布時間:2023-07-03 22:34:20

Ⅰ C++模板泛型書

模板和泛型編程

模板和基於模板的泛型編程無疑是當今發展最活躍的C++程序設計技術。模板的第一個革命性的應用是STL,它將模板技術在泛型容器和演算法領域的運用展現得淋漓盡致,而Boost、Loki等現代程序庫則將模板技術的潛能不斷發揮到極致。在模板和泛型編程領域,我推薦以下兩本重量級著作:

David Vandevoorde, Nicolai M. Josuttis, C++ Templates: The Complete Guide
《C++ Templates全覽(繁體版)》,台灣碁峰資訊股份有限公司
《C++ Templates全覽(簡體版)》,人民郵電出版社

有一種老套的贊美一本書的手法,大致是「沒有看過這本書,你就怎麼怎麼地」,這裡面往往誇張的成分居多。不過,倘若說「沒有看過《C++ Templates: The Complete Guide》,你就不可能精通C++模板編程」,那麼這個論斷對於世界上絕大多數C++程序員來說是成立的。

這本書填補了C++模板書籍領域由來已久的空白。此前,上有《Modern C++ Design》這樣的專注於模板高級編程技術和泛型模式的著作,下有《The C++ Standard Library》這樣的針對特定模板框架和組件的使用指南。然而,假如對模板機制缺乏深入的理解,你就很難「上下」自如。鑒於此,我向每一位渴望透徹理解C++模板技術的朋友推薦這本書。

這本書在內地、台灣各有一個譯本,但出自不同的譯者之手。當你看到這篇文章時,兩個譯本應該都已經上市,對於讀者來說當然也就多了一種選擇。侯捷先生個人網站上開放了繁體譯本大部分章節,不妨先睹為快。

Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied
《C++設計新思維:泛型編程與設計模式之應用》,華中科技大學出版社
《C++設計新思維(影印版)》,中國電力出版社

你自認為是C++模板編程高手嗎?請看過這本書再回答J 這是一本出自天才之手令人敬畏的傑作。泛型模式,無限延伸你的視野,足以挑戰任何一名C++程序員的思維極限。

這本書共分為兩大部分,第一部分討論了 Loki程序庫採用的基礎技術以及一些高級語言特性,包括基於策略的類設計、模板局部特化、編譯期斷言、Typelist以及小型對象分配技術等。第二部分則著重介紹了Loki中的重要組件和泛型模式技術,包括泛化仿函數(Generalization Functor)、單件(Singleton)、智能指針、對象工廠(Object Factory)、抽象工廠(Abstract Factory)、訪問者(Visitor)以及多方法(Multimethods)等。每一種技術都讓人大開眼界,嘆為觀止。

Ⅱ 什麼是泛型編程

泛型編程讓你編寫完全一般化並可重復使用的演算法,其效率與針對某特定數據類型而設計的演算法相同。泛型編程的代表作品STL是一種高效、泛型、可交互操作的軟體組件。所謂泛型(Genericity),是指具有在多種數據類型上皆可操作的含意,與模板有些相似。STL巨大,而且可以擴充,它包含很多計算機基本演算法和數據結構,而且將演算法與數據結構完全分離,其中演算法是泛型的,不與任何特定數據結構或對象類型系在一起。STL以迭代器(Iterators)和容器(Containers)為基礎,是一種泛型演算法(Generic Algorithms)庫,容器的存在使這些演算法有東西可以操作。STL包含各種泛型演算法(algorithms)、泛型指針(iterators)、泛型容器(containers)以及函數對象(function objects)。STL並非只是一些有用組件的集合,它是描述軟體組件抽象需求條件的一個正規而有條理的架構。

Ⅲ c++模板與泛型的區別是什麼呢

1、泛型編程就是以獨立於任何特定類型的方式編寫代碼,而模板是泛型編程的基礎。
2、模板定義以關鍵字template開始,後接尖括弧括住的模板形參表。模板形參可以是表示類型的類型形參(type parameter),也可以是表示常量表達式的非類型形參(nontype parameter)。

閱讀全文

與泛型編程與模板相關的資料

熱點內容
區域網如何用ftp伺服器配置 瀏覽:70
程序員慣性思考模式 瀏覽:439
如何在個稅app上查身份證號 瀏覽:6
電視家app安裝在電視上怎麼安 瀏覽:889
怎麼將pdf格式轉化為圖片格式 瀏覽:637
伺服器拔掉raid卡怎麼裝系統 瀏覽:232
區域對稱加密演算法 瀏覽:245
數字轉漢字php 瀏覽:733
安卓源碼硬體驅動 瀏覽:208
痰證pdf 瀏覽:814
電腦怎麼把word文檔轉pdf 瀏覽:867
程序員那麼可愛有孩子了嗎 瀏覽:480
安卓文字折疊怎麼使用 瀏覽:885
創造一個app如何掙錢 瀏覽:801
php55vc11 瀏覽:642
抖音如何關閉蘋果app充值 瀏覽:332
python多個文件調用 瀏覽:792
java演算法和數據結構 瀏覽:465
糖豆視頻的文件夾 瀏覽:654
php的頭部文件一般在哪個文件里 瀏覽:560