[C++] 函數進階介紹 Function
函數進階介紹 在前一章中,我們介紹了基本的函數組成,怎麼應用函數,以及為什麼我們需要他。 在這一章中,我們要來更進一步的介紹函數的其他應用以及細節! 參數 一個函數的參數就是在進行函數宣告時出現在 () 中的變數,以前一章的例子來說,num 就是 square() 這個函數的參數,同時也是唯一的參數。 參數的運作方式和一個函數裡的變數的運作方式其實幾乎是一樣的。唯一的差別在於,參數初始化的值是 [...]
[C++] 函數基本介紹 Function
函數基本介紹 在這章中,我們要來介紹在軟體世界中一個非常重要而且基本的概念,也就是函數。雖然說這個概念很基本,但軟體也會在有了函數以後而開始變得複雜,並且產生很多延伸觀念比如說遞迴 recursion、函數多載 function overloading 等等。 但這些都是以後的事,這章我們就先來介紹一下什麼是函數,它是怎麼運作的,以及為什麼我們需要函數吧! 什麼是函數? 在軟體世界中,函數是 [...]
[C++] 異常處理 Exception
異常處理 Exception 在 C++ 中,異常 exception 是在程式執行期間發生的事件。它的出現會打斷正常的程式流程。一個常見的例子比如說程式嘗試將一個整數除以 0。我們都知道不能將數字除以 0,而程式碼遇到這樣的情況也會報錯並立即終止程式。但有時候,即使出現這樣的錯誤,我們還是希望程式碼可以繼續執行下去。 這就好比一場籃球比賽,當有人犯規的時候,球賽並不會因此而中止,反而裁判會吹哨 [...]
[C++] 迴圈 while loop 和 for loop
迴圈 while loop 和 for loop 接下來我們要講的觀念非常重要!迴圈(loop)是程式語言非常強大的功能之一,學會了他可以讓我們做到很多複雜的應用。如果沒有迴圈,程式碼會變得非常生硬且複雜,許多應用也會變為不可能。 迴圈基本上分為三種: while loop do while for loop 依據不同的情況,我們可能會使用不同的迴圈種類,但其實他們要實現的功能都一樣!接下來讓我 [...]
[C++] Break 和 Continue
Break 和 Continue 有時候我們可能會想要中途停止或是跳過迴圈的執行。比如說持續向使用者要求輸入數字直到輸入的數字符合規範,或是如果某條件成立,我們就不執行此次迴圈內的程式碼。 這時候我們就必須利用 break 和 continue 幫我們完成這樣的工作! 總而言之,它們分別有這樣的功能: break:當在迴圈內遇到 break 時,迴圈會立即中止,並且程式會繼續執行迴圈外的下一條程 [...]
[C++] 條件式 if-else 和 switch
條件式 if-else 這章開始我們要來講一下控制流程 Control Flow 的概念! 在這之前我們看到的程式碼,在執行的時候程式都是由第一行按照順序執行到最後一行,這非常直觀。 但會不會有時候我們想要程式碼只執行某幾行、跳過某幾行、或是重複執行呢?當然有可能!讓我們繼續讀下去。 什麼是控制流程 在講 if-else 之前,我們先來說說什麼是控制流程。 舉一個簡單的例子來說,如果有一個程式 [...]
[C++] 指標 Pointer
指標 Pointer 這章我們要來講一個非常重要的觀念:指標! 指標常常是剛接觸程式語言的初學者非常頭痛的一個主題,就連我也不意外。當初在大學的時候非常討厭寫程式其中一個大原因就是因為搞不懂指標到底在幹嘛,以及為什麼要用指標。 但是想讓自己在程式語言的能力上更上一層樓的話,學會指標的觀念是不可或缺的!而這也可以說是初學與進階的分水嶺。 指標之所以如此複雜是因為我們需要了解碰觸到實際記憶體的位置。 [...]
[C++] 列舉二:有範圍的列舉 Enum Class
列舉二:有範圍的列舉 Enum Class 列舉有兩種,一種是無範圍的 unscoped enum,第二種則是有範圍的 scoped enum。 上一章 列舉一:無範圍的列舉 Enum 我們講解了無範圍的列舉,並提到它的功能、局限性、以及缺點。 今天這章就是來介紹什麼是有範圍的 scoped enum,並且了解它如何處理了我們在無範圍的列舉所遇到的問題。 有範圍 scoped enum 首先, [...]