C++型別引數化

coderlwz發表於2024-10-01

C++程式設計語言繼承於C程式設計語言並且增加物件導向的程式設計思想。程序導向的程式設計和麵向物件的開發設計程式設計思想的區別在於資料的處理型別。C語言的程式設計基於基礎的資料型別。結構體struct的概念設計是基礎資料型別資料的組合。C++程式設計的開發增加類class的資料構建模型。資料模型不具有記憶體分配的消耗。

C++型別引數化是物件導向程式設計中對資料型別的一種抽象。物件object是類class的具體例項化。自由的分配記憶體中會有記憶體區塊使用於存放物件資料。C++的程式設計隨著專案組成員的增大,管理專案複雜度的困難隨即產生。專案的複雜度有開發人員的複雜度和專案原始碼的複雜度。繼承,封裝和多型是物件導向程式設計的三大特性。繼承實現資料的共享抽取,類似享元設計模式。方法的抽象是會生成抽象的資料方法。

抽象的方法是一種方法的定義模型。方法物件和函式物件,以及例項物件有區別。方法物件在計算機記憶體中是不佔用可訪問隨機執行記憶體。例項物件是計算機作業系統棧記憶體和記憶體工作空間的資料具體體現。資料儲存於計算機記憶體空間之中,對應著不同的計算機底層儲存硬體。

計算機程式設計是管理專案複雜度。專案的複雜度十分令人頭疼。程式碼量的遞增會增加程式設計師的開發和閱讀程式碼的難度。重複使用的類屬性和方法會抽取出來放在公有父類之中。子類會繼承引用父類的屬性和方法。方法的建模抽象程度更高的概念是把資料引數的型別和函式返回值的型別抽象成資料型別T。後設資料的資料型別對資料型別資料的更上一層次的抽取。抽取方式可以重複利用計算機程式設計開發的原始碼空間和計算機的執行記憶體空間。C++型別引數化有關鍵字template實現。型別引數化模版的例項化具體會生成一個函式function模型。方法函式的返回值型別和形引數據型別具體例項化為程式設計語言的具體設計資料物件型別。

模版方法的程式設計模式就是這種的設計概念。模版是抽象層次和呼叫層次更多更高的設計。Java中的型別引數化的設計概念透過資料型別T實現。Java中的泛型程式設計在專案的初始架構階段和中期的重構階段很有用處。

型別引數化作用於類class中和方法function中。專案組程式碼的重複利用需要使用程式碼抽取的方式。型別引數化是對資料型別的一種抽象抽取。

相關文章