c與c 的界限

2021-09-06 10:22:01 字數 1011 閱讀 5195

最近比較多的思考程式語言的優劣,以及程式語言的發展軌跡,由於自己對程式語言的歷史並不是瞭如指掌,所以肯定有很多漏洞,既然有想法了就要記下來,不能讓它們白白的流逝了。

c語言其實我用的並不多,是大學裡正統的學習過的一門語言,學完這門語言後,雖說是新手,可接觸其它語言的時候總是用c語言的習慣去寫程式。比如說,遇到包含檔案就很慌張,比如會考慮函式的包含順序,比如說分不清陣列為啥要有固定初始化長度,比如說不明白為啥申明個變數要用malloc等等。

後來工作了直接用到的c++,c++是從c語言上發展過來的,本來是一族,但是c++有更多的限制,並且加入了繼承和虛函式,模板這些概念。c++是一門非常複雜的語言的,c相對來說簡單。c比較靈活,放心的讓你去做任何你想做的事情,比如型別轉換,如果你強轉的話,c編譯器是沒有warn呢,比如說結構體,你可以任意訪問結構體內的變數,但c語言裡只有資料結構,函式都是全域性變數。c++裡有public,protected,private 訪問限制符,你必須很清楚成員變數,成員函式具體的責任,才能很好的劃分訪問限制。c++類設計的時候遵循高內聚,就是說c++裡的成員變數和成員函式都有很緊密的關係。通過類裡的函式,和變數解決好問題。盡量少的依賴外部類和方法,少丟擲介面。而c語言裡全部是全域性函式,可以任意用你想用的。c++裡還有const 關鍵字,更加為語言加上了枷鎖,告訴你什麼東西可以修改,什麼東西不可以修改,如果你想傳遞我,必須傳遞給乙個const的型別才可以。比如c裡的巨集是非常靈活的,想怎麼編寫都可以。模板的話也是你必須傳入特定的型別,然後針對特定型別進行程式設計。

說了這麼多,給我的感受就是,c語言是信任程式設計師的,所以用c寫專案對程式設計師的要求更高,因為沒有限制,所以很容易設計出拙劣的框架。而c++裡有各種限制,並且相容c語言,所以你必須的深入學習c++才行,才可以用到語言發明者bs為了避免程式設計師在設計上,在**重用性上,在****層次上的理解,才能寫出好的c++程式。因為c++發明就是因為作者用c很不爽,因為c總是當好人,不告訴你的缺點,所以你很容易陶醉到自己的設計裡,讓你的壞習慣肆意的蔓延,最後受傷的人還是你。而c++裡通過這些特定的概念,最起碼提醒一下你,那些操作是危險的,那些設計是好的,那些常用的函式需要抽象。

事物的界限

1基本資訊 詞目 界限 拼音 ji xi n 基本解釋 boundary 領土或運動場 邊界 分界線 dividing line 事物之間的分界 劃清界限 limit 限度 止境 divide 分隔 劃分 長江天塹,界限南北 2詳細解釋 1.不同事物的分界。唐韓愈 喜雪獻裴尚書 詩 地空迷界限,砌滿...

c索引超出了陣列界限 陣列常見操作

動態陣列 動態陣列 在宣告時未確定其大小,有需要時再重新定義其大小。思路 1 在動態陣列初始化時給其乙個預設大小,當預設陣列大小無法滿足操作需要時,擴充陣列大小。2 在擴充陣列大小時,每次將陣列擴充為原有的 2 倍大小,直到滿足要求。注 realloc 重新定義陣列大小時,若新分配記憶體大於原有記憶...

界限 華為的面試

2011 9 10 在這一天從那家了華為在珠海的面試,現在回想起來面試的過程歷歷在目,如剛發生一樣。從結果上看,這次面試根本就是失敗的,無論是he的買你是還是sw的面試,用100分來計算的話大概只有50分的程度。在面試過程中的錯誤和漏洞百出,前後回答矛盾,主要有以下幾點問題 1.溝通問題,這一問題是...