我們宣告的變數事實上皆有各自的生命週期,簡單來說原則上變數始於宣告、終於其宣告時最接近之 { 對應之 }. 當程式離開該大括弧的區塊以後,理論上我們就不應嘗試存取它。請留意,在不同的作用域宣告相同名稱的變數是會覆蓋的。以下將由小到大介紹各變數作用域。 區塊變數 宣告在條件分支與迴圈控制區塊中的變數是為區塊變數。如果我們在大括弧外使用區塊變數的名稱,編譯器會不認得它而說 identifier is undefined. 然而,技術上來說,我們其實可以透過指標在區塊變數的生命週期外嘗試存取它,因為區塊變數與區域變數都位於函式的堆疊。 #include <iostream> using namespace std; int main()...

C++ 中的函式與數學中的函數有些類似,但也卻存在一些差異。事實上,先前我們的程式碼就包含惹 main() 這個最基本的函式。撰寫程式的過程中,如果有某些片段經常重複使用,或是有其他需求比如強調或是遞迴,就可以考慮宣告成函式。 #include <iostream> using namespace std; long long foobar(int x) { return 1LL * x * x; } int main() { cout << foobar(87) << '\n' << foobar(69) << '\n'; return 0; } 上例中,我們宣告一個名為 foobar() 的函式,其回傳型別為 long...