閒話少說
先做個自我介紹吧……我是……我是……呃……不說也罷,你就知道我是計算機科班出身的。當然後來學的不咋地,但是教個大一大二c++還是小菜一碟就行了。
Q:為啥要學C++捏?
A: C 和 C++ 是接近底層的編程語言,能夠直接管理內存,且在系統編程和遊戲開發等領域應用廣泛。有些遊戲的編程語言看起來容易通用性很差(例如RPG Maker的Ruby語言),有的語言則即不簡單同時也沒有通用性(例如Godot的GDScript,基於python)。
學習 C++ 不僅有助於深入理解計算機原理,它的通用性也很強。許多知名遊戲引擎(如 Unreal Engine 和 Source Engine)廣泛使用 C++,而 Unity 也支持 C++ 插件擴展。
Q:為啥不學C而直接要學C++捏?
A:主要是安全考慮和兼容性考慮,C++環境下基本可以運行C語言的代碼而且還有許多的庫(Libraries)給你使用, C++ 是對 C 的擴展,能夠兼容大部分 C 語言代碼,同時提供了更強的內存管理和錯誤控制能力,降低了內存洩漏的風險。C++ 還擁有豐富的標準庫,適合新手入門。
Q:C++好學嗎?
A:不好學。
Q:那為什麼還要學?
A:就是因為不好學才要學……
Q:學習C++需要具備什麼樣的基本知識。
A:首先是英語, 在學習 C++ 代碼之前,建議先掌握基本的算法概念。編程中清晰的邏輯至關重要,推薦使用英文來寫算法,這樣邏輯表達更嚴謹,避免誤解。尤其不推薦使用中文寫算法,這不僅是本人喝洋墨水崇洋媚外,老實說更是因為中文的語言邏輯性不足,尤其是經常性的會把【與】( && )跟【或 】( || )用【和】這個字搞混。例如:
--------------------------------------------------------------------------------------------------------
開始
設 a 為假;
設 b 為假;
如果 a 和 b 都為真,則輸出 “a 和 b 都為真”;
如果 a 或 b 為真,則輸出 “a 或 b 至少一個為真”;
結束
--------------------------------------------------------------------------------------------------------
不用懵,我自己都懵了。謝謝。
推薦使用英文來寫算法,這樣邏輯表達更嚴謹,避免誤解,例如
--------------------------------------------------------------------------------------------------------
BEGIN
SET a TO false
SET b TO false
IF a AND b THEN
OUTPUT "a and b are both true"
END IF;
IF a OR b THEN
OUTPUT "at least one of a or b is true"
END IF;
END
--------------------------------------------------------------------------------------------------------
其次,學好數學。因為所有的計算機編程問題本質上都是數學問題。它的本質就是把一個問題簡化成數學模型的過程。從最簡單的布爾函數運算,再到定義整數,浮點數(int, float,double)都離不開數學。以我們簡單的for循環為例:
當然,也不用著急。英語,數學水平一般的足夠了。(即高中數學和英語,150分卷子100分左右以上基本沒問題)
但是請注意,畢竟教程麼。等文章結尾我會留一些作業滴。注意⚠:
不要用Chat GPT之類的作弊,自己憋(想當年我都是自己憋出來的,有了Chat GPT人類學習能力是一個巨大滴打擊。總之,我知道這對現在的朋友來說可能不簡單,但畢竟學習沒有容易的,儘量自己做,忍住,忍住,再忍住。實在忍不住了,憋很長時間弄不出來……那就……不攔著了。至少你看一遍之後自己敲三遍,不懂得留言問。如果留言說不明白就私信。我夠嗆能回。實在不行我抽空錄視頻解答)
Q:我要用什麼工具捏?
A:不推薦使用VS,推薦CodeBlock , 即便是筆者這種科班出身的CS銀,補包也是個大問題,麻煩得很,每次換電腦都要花很長時間補包。注意,下載 codeblocks-20.03-setup.exe。
當然如果你下載了,安裝了,運行
#include <iostream>
using namespace std;
int main() {
cout << "Fuck The World!" << endl;
return 0;
}
失敗,那麼可以嘗試在線編輯器replit。
序章就寫這麼多,主要是準備工作,物質上的和心理上的。今天的作業麼就是搞一個編輯器準備迎接轟炸,讓C++從入門到入墳。
薦進階毒物:韓大。如果你實在感興趣C語言看起來啥樣,和C++有什麼區別可以參考他的系列教程。但老實說難度較大。