寒江雪 將C 視為乙個語言聯邦

2021-07-24 16:28:50 字數 633 閱讀 6235

為了認識c++,你必須認識其主要的次語言

l  c:說到底,c++仍是以c為基礎。區塊,語句,預處理其,內建資料型別,陣列,指標等統統來自c。許多時候,c++對問題的解法起始不過就是較高階的c解法。但當你以c++內的c成分工作時,高效程式設計守則映照出c語言的侷限:沒有模板,沒有異常,沒有過載……

l  object-oriented c++:這部分就是c with classes所訴求的:classed(包括建構函式和析構函式),封裝,繼承,多台,virtual函式……等等、這一部分是物件導向設計之古典守則在c++上的最直接實施

l  template c++:這是c++的泛型程式設計部分,也是大多數程式設計師經驗最少的部分。template相關考慮與設計已經瀰漫整個c++,良好的程式設計守則中「惟template適用」的特殊條款並不罕見。實際上由於template威力強大,它們帶來嶄新的程式設計泛型,也就是所謂的template metaprogramming(tmp,模板元程式設計)。tmp相關規則很少與c++主流程式設計互相影響

l  stl:stl是個template程式庫,看名稱也知道,但它是非常特殊的乙個。它對容器,迭代器,演算法以及函式物件的規約有極佳的緊密配合與協調,然而template及程式庫也可以其他想法建置出來。stl有自己特殊的辦事方式,當你夥同stl一起工作,你必須遵守它的規約。

C 是乙個語言聯邦

c 是乙個強大的程式語言,但他的風格並不統一,這是由於c 是乙個語言聯邦,由以下四部分組成,每部分都有自己的特點。c 最早就是 c 語言的預編譯器,相容了c語言的所有特性,然而c語言的型別轉換不夠安全,c 中做了安全的型別轉換,導致c 和c的特性有一定的差別,在程式設計時要區分是c 還是 c 這部分...

視C 為乙個語言聯邦

c 是個多重泛型程式語言,同時支援以下形式的語言 1 過程形式 2 物件導向形式 3 函式形式 4 泛型形式 5 元程式設計形式。理解c 的方法 將c 視為乙個由相關語言組成的聯邦而非單一語言。在其某個次語言中,各種守則與通例都傾向簡單 直觀易懂 並且容易記住。當從乙個次語言移至另乙個次語言,守則可...

條款01 視C 為乙個語言聯邦

條款01 視c 為乙個語言聯邦 view c as a federation of languages 內容 今天的c 已經是個多重範形程式語言 multiparadigm programming language 乙個同時支援過程形式 procedural 物件導向形式 object orient...