C++ Gossip学习笔记

From Gossip@caterpillar

語言技術:C++ Gossip


C++ 學習筆記 關於 C++ 的歷史無須我來介紹了,有興趣的可以用搜尋引擎來找出一堆談 C++ 歷史的,C++ 是個歷久不衰的程式語言,功能強大但入門不易,後期有很多的程式語言致力於擁有 C++ 大部份的功能並去除其不易掌握的部份,即使後期的程式語言如此之多,但 C++ 仍在程式語言工具中佔有一席之地。

這是我的 C++ 學習筆記第二個版本,主要的目的是將 之前的 .chm 文件 改為網頁格式,並重新看看有沒有什麼語法或觀念的錯誤,也藉此複習一下 C++,文件中所有的範例都是在 Dev C++ 4.9.9.2 中撰寫測試。


<script language="JavaScript" type="text/javascript"> </script> <script language="JavaScript" src="http://adsense.scupio.com/adpinline/PublisherJS/Gossip_A258_750x115.js" type="text/javascript"></script> <script language="JavaScript" src="http://adsense2.scupio.com/ADPInline/ADViewer.aspx?s=0,4,750,115,FFFFFF,20,FFFFFF,2,1,15,1,13,3,0,6,1,,RM,BMK1,17,42&m=4&sh=color:333333;font-size:12px;line-height:18px;text-decoration:none;&ss=color:46839C;font-size:10pt;line-height:18px;text-decoration:underline;font-weight:bold;&sc=color:333333;font-size:10pt;MARGIN-TOP:1em;MARGIN-BOTTOM:1em;text-decoration:none;&su=color:FF9900;font-size:10pt&si=&r=http%3A%2F%2Fwww.scupio.com%2FRedirectWeb%2FRedirect.aspx%3Fclass%3D1%26channel%3D99999%26type%3D007%26event%3D07021201%26url%3Dhttp%3A%2F%2Fad.scupio.com.tw&lang=big5&PubID=lSwDBRA3VQ==&CA=0.20296857253809236&KeyValue=&u=http%3A%2F%2Fcaterpillar.onlyfun.net%2FGossip%2FCppGossip%2FCppGossip.html" type="text/javascript"></script>


入門基礎
        學習程式語言第一件事,通常就是先作個簡單的程式來運行一下,並從瞭解程式語言的資料型態、變數與流程控制語法開始。
  • 資料型態與變數
        無論如何 先來個 "Hello! World!" 顯示一下程式執行結果,增加一點撰寫程式的信心!接著就耐心的瞭解一下 C++ 的資料型態,以認識一下變數、常數。
  • 運算
        程式的目的簡單的說就是運算、運算還是運算,加減乘除這類的動作是少不得的,在C++中提供運算功能的就是運算子(Operator)。
  • 流程控制
        流程控制語法是程式設計的基本,藉由各種條件判斷與迴圈重覆執行語法,您可以令您的程式因應不同的狀況而作出不同的回應。

進階型態
        陣列、字串、指標這幾種C++的進階型態相當常被使用,雖然看似複雜,但彼此之間互有相關,另外這邊也介紹一下C++中的列舉(Enumeration)型態。
  • 陣列(Array)
        各種型態的陣列各有其不同的用途,但無論如何,先從基本型態的一維陣列、二維陣列開始認識起。
  • 向量(Vector)
        C++提供了內建陣列的替代型態 vector,vector 可以如同陣列一般的操作,並記得自己的長度資訊,您也可以使用物件的方式來操作 vector 。
  • 字串(String)
        字串的本質是字元陣列,而在C++中還可以使用string類別來表現字串,兩者都有瞭解的必要。
  • 指標(Pointer)
        指標可指向一個記憶體位址,可對物件作間接操作,指標擁有型態,這用來告訴編譯器如何解釋記憶體空間的內容,以及每一次運算的大小。

函式
        程式中超過兩次以上重複使用的程式碼,可以考慮將之定義為函式,以便重覆呼叫使用,降低相同程式片段的維護成本。
  • 函式入門
        先簡介一些與函式定義相關的幾個語法,並談談幾個變數可視範圍的議題。
  • 進階議題
        遞迴呼叫、傳值、傳址、傳參考等,這些議題在函式的使用上關乎執行資源的使用與效率問題。

物件基礎
        以物件為基礎的程式設計,將程式中互動的單元視為一個個的物件。
  • 封裝(Encapsulation)
        封裝物件資訊是第一步,您要瞭解如何使用類別定義物件,像是定義物件的屬性、行為等等,類別是建構物件時所依賴的規格書。
        一些有關於指標、運算子重載、特殊型態類別的相關議題。

物件導向
以物件為基礎作延伸,多型(Polymorphism)操作為設計時的核心,於執行時期動態繫結(Dynamic binding)以決定物件的行為。
  • 繼承(Inheritance)
        您可以繼承某個(父)類別的定義並加以擴充,而制訂出一個新的(子)類別定義。
        多型操作在物件導向設計中伴演著極重要的角色,使用的適當與否,足以影響程式的架構與未來的可維護性。


例外處理(Exception Handling)
        例外(Exception)是程式執行時期可偵測到的異常狀況,C++的例外處理包括兩部份:例外的丟出(throw)與例外的捕捉(catch)與處理。


範本(Template)、名稱空間(Namespace)
        範本(Template)提供被參數化的型態(Parameterized Types)功能,將型態相依與非型態相依的演算法分離開來;名稱空間則提供一個名稱管理容器,減低名稱衝突的機會發生。


附錄
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值