小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

什么要學(xué)C++如何系統(tǒng)地學(xué)習(xí)C語言太全面了(允許程序員創(chuàng)建包含數(shù)據(jù)和功能的對(duì)象)

 山峰云繞 2022-06-16 發(fā)布于貴州

   (允許程序員創(chuàng)建包含數(shù)據(jù)和功能的對(duì)象)


https://m.toutiao.com/is/YBVLobt/?=為什么要學(xué)C++ 



hello,大家好,我是 Jackpop,碩士畢業(yè)于哈爾濱工業(yè)大學(xué),曾在華為、阿里等大廠工作,如果你對(duì)升學(xué)、就業(yè)、技術(shù)提升等有疑惑,不妨交個(gè)朋友:

我是Jackpop,我們交個(gè)朋友吧!

C++是一種通用的、面向?qū)ο蟮木幊陶Z言,可用于開發(fā)操作系統(tǒng)、游戲、圖形用戶界面、后端以及高性能系統(tǒng)和應(yīng)用程序。

所以,盡管Python、Go這些后起之秀近幾年熱度非常高,但是在很多領(lǐng)域還是無法撼動(dòng)C++的地位。

今天,就從淺到深,從入門到實(shí)戰(zhàn),教你如何學(xué)習(xí)C++。

篇幅較長,先給出本文的目錄:

  • C++簡介
  • 什么是C++?
  • 為什么學(xué)C++?
  • C++的歷史
  • C和C++的區(qū)別
  • 編譯型語言和解釋型語言
  • 從入門到實(shí)戰(zhàn)
  • 開發(fā)環(huán)境
  • C++入門
  • C++練習(xí)
  • C++實(shí)戰(zhàn)
  • C++進(jìn)階
  • 學(xué)習(xí)資源
  • 書籍
  • 視頻課程
  • 開源項(xiàng)目

下面,就正式開始本文的正式內(nèi)容吧!

C++簡介

什么是C++?

現(xiàn)如今,流行的編程語言非常多,Python、Go、Java、PHP、JavaScript等等,它們各有自己擅長的領(lǐng)域和方向。

而C++則在系統(tǒng)資源和內(nèi)存控制更勝一籌,因此,在操作系統(tǒng)、圖形圖像、游戲、嵌入式這些對(duì)性能要求較高的領(lǐng)域,C++一直都具有不可替代的地位。

它可以用來開發(fā)在多個(gè)平臺(tái)上運(yùn)行的應(yīng)用程序,如服務(wù)器、個(gè)人電腦、基于云的系統(tǒng)和移動(dòng)設(shè)備。

為什么學(xué)C++?

如果你對(duì)計(jì)算機(jī)游戲、高端計(jì)算項(xiàng)目的軟件工程、加密貨幣挖礦程序和開發(fā)移動(dòng)設(shè)備的操作系統(tǒng)等領(lǐng)域感興趣,學(xué)習(xí)C++則是必不可少的。

此外,相對(duì)于Go、Python這些更加高階的編程語言,會(huì)涵蓋更加全面的編程知識(shí),也有助于學(xué)習(xí)者理解變量、函數(shù)、面向?qū)ο蟆⒅羔?、?nèi)存...這些在很多高階語言中容易被忽略的概念和知識(shí)。

C++的歷史

?

C++是由丹麥計(jì)算機(jī)科學(xué)家Bjarne Stroustrup(比雅尼·斯特勞斯特魯普)創(chuàng)造、設(shè)計(jì)和開發(fā)的。

斯特魯斯特魯普想制造一種類似于C語言的靈活和動(dòng)態(tài)的語言,但是,需要擁有更多的功能。

它最初被稱為 'C with classes',在1983年被重新命名為C++,意思是 比C高一等。

國際標(biāo)準(zhǔn)化組織的C++聯(lián)合技術(shù)委員會(huì)在1998年至2017年間對(duì)C++進(jìn)行了五次升級(jí)。

一個(gè)新的版本,C++20,計(jì)劃也在計(jì)劃中將要發(fā)布。

C和C++的區(qū)別

C和C++有哪些區(qū)別?

這是在學(xué)習(xí)C或者C++時(shí)無法繞開的一個(gè)問題。

Jon Kalb(軟件工程講師、C++ Now和CppCon的主席)說,C++是C的進(jìn)化

雖然它們有一些相似之處,但現(xiàn)在兩者有很大的不同。

雖然C語言被廣泛使用,但Kalb說它并不像C++那樣支持抽象、通用編程和面向?qū)ο缶幊獭?/span>

在大型項(xiàng)目中,往往需要非常高層次的抽象,在這方面C++要遠(yuǎn)勝于C語言。

抽象層指的是觀察或編程一個(gè)系統(tǒng)的復(fù)雜程度。低層次的抽象有更多的細(xì)節(jié),而高層次的抽象可以包括整個(gè)系統(tǒng)。

C語言是一種程序性語言,它的代碼由指令組成,直接告訴計(jì)算機(jī)或其組件按邏輯步驟完成一項(xiàng)任務(wù)。

C++也可以做到這一點(diǎn),而且,在此基礎(chǔ)上它支持高級(jí)功能,如類和面向?qū)ο?,它允許程序員創(chuàng)建包含數(shù)據(jù)和功能的 '對(duì)象'。這種方法的優(yōu)點(diǎn)是,軟件對(duì)象比程序性指令執(zhí)行得更快,更容易執(zhí)行,而且面向?qū)ο蟮木幊淌勾a更容易修改、維護(hù)和調(diào)試。

編譯型語言和解釋型語言

提起編程語言,就必須先要理解語言所屬類型 。

編程語言可以分為編譯型語言和解釋型語言,下面分別解釋一下。

編譯型語言:程序在執(zhí)行之前需要一個(gè)專門的編譯過程,把程序編譯成 為機(jī)器語言的文件,運(yùn)行時(shí)不需要重新翻譯,直接使用編譯的結(jié)果就行了。程序執(zhí)行效率高,依賴編譯器,跨平臺(tái)性差些。比較有代表性的有C、C++等。

解釋型語言:相對(duì)于編譯型語言存在的,源代碼不是直接翻譯成機(jī)器語言,而是先翻譯成中間代碼,程序在運(yùn)行時(shí)才翻譯成機(jī)器語言,每執(zhí)行一次都要翻譯一次,因此效率比較低。比較有代表性的包括Java、Python、JavaScript等。

從入門到實(shí)戰(zhàn)

因?yàn)镃++很受歡迎,所以有很多資源可供初學(xué)者使用,包括在線教程、網(wǎng)站和書籍。

當(dāng)決定學(xué)習(xí)C++或任何其他計(jì)算機(jī)語言時(shí),你首先要清楚將它用于什么方向、什么崗位。

如果你從事機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、數(shù)據(jù)分析這些偏重于算法和分析、對(duì)性能不敏感的崗位,你完全可以選擇R或者Python這些語言替代。

但是,如果你從事游戲、系統(tǒng)等對(duì)性能有嚴(yán)格要求的崗位,C++則是首要的選擇。

下面,就開始學(xué)習(xí)旅程吧!

開發(fā)環(huán)境

如前面介紹的那樣,C++屬于一種靜態(tài)的編譯型語言,所以,開發(fā)環(huán)境配置過程中就需要用到對(duì)應(yīng)的編譯器。

C++有很多編譯器可以用,GCC或GNU Compiler Collection是最流行的C++編譯器之一。

下面是不同操作系統(tǒng)下的編譯器安裝方式。

Linux

?

如果你使用的是Linux,可能已經(jīng)默認(rèn)安裝了GCC。

如果沒有,可以通過如下命令安裝:

# Debian/Ubuntusudo apt install build-essential# Fedorasudo dnf install make automake gcc gcc-c++# Arch Linuxsudo pacman -S base-devel

Linux下的IDE可以選擇Codeblocks IDE或Eclipse CDT在Linux。

macOS

在Mac上,你可以使用Clang或GCC,兩者都是免費(fèi)的。

雖然GCC支持更廣泛的C和C++標(biāo)準(zhǔn),但Clang在大多數(shù)情況下都能正常工作。

可以使用Homebrew安裝GCC:

brew install gcc

開發(fā)工具方面,可以選擇Visual Studio Code或者Xcode。

Windows

在Windows上有很多好的編譯器。

在Windows上,Visual Studio提供了一個(gè)C++編譯器,該編譯器還可以構(gòu)建C語言程序。

Visual Studio有自己強(qiáng)大的、功能豐富的IDE,對(duì)于任何開始使用C或C++的人或主要針對(duì)Windows平臺(tái)的人來說,它是一個(gè)很好的選擇。

如果你想要更符合標(biāo)準(zhǔn)的編譯器,GCC(MinGW)也可以使用,Codeblocks IDE通過設(shè)置就可以滿足需求。

IDE方面,Clang是目前比較好用的的工具,除此之外,還有一些跨平臺(tái)的IDE,如Eclipse CDT、Jetbrains CLion和Netbeans,它們提供了功能齊全的C和C++開發(fā)環(huán)境。

最近,Visual Studio Code非?;馃幔诤芏嗑幊陶Z言比較受歡迎,它也可用于Linux和Mac環(huán)境。

C++入門

語法是一種編程語言的核心,也是用C++開發(fā)的基礎(chǔ),就如同我們說漢語、英語一樣,語法定義了C++代碼的組成和理解方式。

下面看一段示例代碼:

# include <iostream>using namespace std:Int main () {cout << ”Hello World“ ; return 0;

#include <iostream>:這是一個(gè)頭文件庫,將功能導(dǎo)入到程序中。該命令的含義是程序從一個(gè)名<iostream>的文件中導(dǎo)入內(nèi)容,該文件代表輸入和輸出流。

using namespace std:指的是來自標(biāo)準(zhǔn)庫(std)的對(duì)象和變量名稱,通常用關(guān)鍵字std和運(yùn)算符::來縮寫。

int main ( ): 指定了一個(gè)主函數(shù)。函數(shù)是C++程序的一個(gè)重要部分,因?yàn)樗鼈冊诖a中定義了一個(gè)動(dòng)作,包含在括號(hào){ }中的代碼將被執(zhí)行。

cout(讀作see-out):是一個(gè)定義輸出的對(duì)象,也就是代碼中的字串,這里會(huì)輸出Hello World

return 0:指示程序不返回任何東西,文本字符串將是唯一的輸出。

<<:是一個(gè)用于命名對(duì)象的操作符,而;(分號(hào)冒號(hào))則作為一行代碼的結(jié)束標(biāo)識(shí)。

把這些放在一起,就組成了一段完成的C++代碼。

通過這段簡短的代碼就簡單的涵蓋了C++中的一些基本語法,如果不首先學(xué)會(huì)基礎(chǔ)語法,看這段代碼如同天書一樣,不知道它在做什么?它有什么含義?

如果了解基本語法,就能夠像看一段漢語一樣輕松理解它表示什么。

基本語法只是入門的一個(gè)方面,除此之外還要對(duì)如下內(nèi)容有基本的認(rèn)知:

  • 函數(shù)--一個(gè)函數(shù)是一組語句,它們共同執(zhí)行一項(xiàng)任務(wù),每個(gè)C++程序至少有一個(gè)函數(shù)
  • 數(shù)組--數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)固定大小的同類元素的順序集合
  • 字符串- 字符串是由字符組成的一維數(shù)組,以空字符'/0'結(jié)束
  • 指針- 指針是變量,其值是其他變量的地址。指針有助于更容易地執(zhí)行C++任務(wù),有些任務(wù)沒有它們就無法執(zhí)行
  • 引用--引用是一個(gè)別名,是一個(gè)已經(jīng)存在的變量的另一個(gè)名字。如果一個(gè)引用被初始化為一個(gè)變量,那么這個(gè)變量的名字和引用的名字就可以交替使用來指代這個(gè)變量
  • 類和對(duì)象--類是C++的一個(gè)關(guān)鍵特征,通過將數(shù)據(jù)表示和操作該數(shù)據(jù)的方法結(jié)合到一個(gè)包中來指定一個(gè)對(duì)象的形式
  • 多態(tài)--多態(tài)意味著有多種形式。在C++中,這指的是調(diào)用一個(gè)數(shù)值函數(shù)導(dǎo)致不同的函數(shù)被執(zhí)行,這取決于調(diào)用該函數(shù)的對(duì)象的類型

C++實(shí)戰(zhàn)

在入門C++并學(xué)習(xí)了一些C++編程技巧后,接下來需要做的就是把它們好好利用起來了,在實(shí)戰(zhàn)中打磨并熟練C++。

做到這一點(diǎn)的一個(gè)方法是通過做一個(gè)項(xiàng)目來了解該語言的各個(gè)方面是如何結(jié)合起來的。

目前Github上有很多相關(guān)的項(xiàng)目,我們可以通過閱讀相關(guān)的代碼,理解它的實(shí)現(xiàn)過程,然后自己復(fù)現(xiàn)相關(guān)的項(xiàng)目來起到實(shí)戰(zhàn)的作用。

也可以根據(jù)自己感興趣的領(lǐng)域,給你尋找一些相關(guān)的需求場景,然后通過C++實(shí)現(xiàn)相應(yīng)的工具或者軟件。

例如,開發(fā)一款簡單的小游戲、實(shí)現(xiàn)一個(gè)文獻(xiàn)翻譯工具、開發(fā)一個(gè)簡易的計(jì)算器等等。

C++進(jìn)階

中級(jí)和高級(jí)C++編程建立在基礎(chǔ)知識(shí)之上。

《C++ Crash Course》一書的作者Lospinoso說,在中級(jí)階段,程序員需要了解引用和指針如何工作。支撐最強(qiáng)大的C++功能的其他核心概念,例如,對(duì)象生命周期和多態(tài)。

對(duì)這些概念如何理解、如何使用,以及如何高效的應(yīng)用于項(xiàng)目中,則是走上進(jìn)階路線上必須學(xué)會(huì)的。

在進(jìn)階之路上,一個(gè)C++程序要做的就不再是如何通過基本語法或者面向?qū)ο缶幊倘?shí)現(xiàn)一項(xiàng)功能或者一個(gè)系統(tǒng),而是學(xué)會(huì)并熟練通用編程、泛型編程,也就是說,需要考慮代碼的通用性、可擴(kuò)展性,以便后續(xù)可以更好的向后兼容,以及更加容易適應(yīng)多平臺(tái)的需求。

學(xué)習(xí)資源

書籍

《C++ Primer Plus(中文版)》

想必絕大多數(shù)從事C++開發(fā)的同學(xué)都看過,至少聽過這本經(jīng)久不衰的經(jīng)典書籍。

這是一本全面、細(xì)致、權(quán)威的C++書籍,對(duì)零基礎(chǔ)小白非常友好,即便沒有任何編程基礎(chǔ),在閱讀過程中也不會(huì)有太大障礙。

而且,相對(duì)于很多數(shù)據(jù)喜歡給出偽代碼,這本書中給出大量完整、可執(zhí)行的代碼,這對(duì)于基礎(chǔ)較弱的同學(xué)上手訓(xùn)練非常良心。

此外,這是一本站在更高層次講解C++的書籍,對(duì)比很多書籍一味的講解概念和理論,它用更高層次的視角教授C++,比如,哪里有潛在問題?哪些地方需要著重注意?它都會(huì)給出詳細(xì)的提示和闡述。

《C++ Primer(中文版)》

C++大師StanleyB.Lippman、C++標(biāo)準(zhǔn)委員會(huì)原負(fù)責(zé)人JoséeLajoie、C++先驅(qū)BarbaraE.Moo三位C++領(lǐng)域大牛合著的一本經(jīng)典C++書籍,也傾注了三位大牛對(duì)C++獨(dú)特的理解。

相對(duì)于很多書籍單純的概念講述,《C++ Primer(中文版)》從因到果,由淺入深,由表及里娓娓道來,從語言的簡單用法,到為什么這樣設(shè)計(jì)語言,你不僅能從一個(gè)語言使用者的角度看問題,更能站在一個(gè)語言設(shè)計(jì)者的角度思考這種語言的設(shè)計(jì)優(yōu)劣。

而且,這本書完全可以作為一個(gè)參考字典使用,在日常C++開發(fā)過程中遇到的很多語法和編譯問題在這里都可以尋找到答案。

《Essential C++中文版》

相對(duì)于《C++ Primer Plus(中文版)》和《C++ Primer(中文版)》的全面而厚重,《Essential C++中文版》顯得”輕薄“很多。

相對(duì)于前兩本的全面,這本書更加注重C++進(jìn)階部門的講解,全書圍繞procedural(面向過程的)、generic(泛型的)、object-based(基于對(duì)象的)、object-oriented(面向?qū)ο蟮模┲?個(gè)面向進(jìn)行詳解,從這里,你可以學(xué)到很多C++的高階用法

《C++標(biāo)準(zhǔn)庫》

標(biāo)準(zhǔn)庫是C++一個(gè)非常重要的組成部分,在C++開發(fā)中也是無法繞開的一個(gè)部分。

《C++ 標(biāo)準(zhǔn)庫》這本書詳細(xì)講解了每一標(biāo)準(zhǔn)庫組件,包括其設(shè)計(jì)目的和方法、復(fù)雜概念的剖析、實(shí)用而高效的編程細(xì)節(jié)、存在的陷阱、重要的類和函數(shù),除此之外,還大量用 C++11 標(biāo)準(zhǔn)實(shí)現(xiàn)的實(shí)用代碼范例,覆蓋全新組件、特性。

這本書重點(diǎn)著眼于標(biāo)準(zhǔn)模板庫(STL),涉及容器、迭代器、函數(shù)對(duì)象以及 STL 算法。

《Effective C++:改善程序與設(shè)計(jì)的55個(gè)具體做法》

這是一本來自全世界知名C++軟件開發(fā)專家Scott Meyers的經(jīng)典書籍,這本書更像是一本經(jīng)驗(yàn)的積淀。

如果你想沿著C++的方向一直走下去,我建議《Effective C++》一定要讀,它提煉和升華了作者在C++開發(fā)過程中多年的實(shí)戰(zhàn)經(jīng)驗(yàn),這些都是C++程序設(shè)計(jì)和優(yōu)化過程中寶貴的經(jīng)驗(yàn),也是普通程序員和高階程序員之間差距的關(guān)鍵所在。

《More Effective C++(中文版)》

這是繼Effective C++之后,Scott Meyers于1996推出這本續(xù)作,相對(duì)于《Effective C++》也更加高階。

這本書比較適合有一定經(jīng)驗(yàn)的C++開發(fā)人員,對(duì)于C++初學(xué)者有一定難度。

視頻課程

其實(shí),仔細(xì)閱讀上面介紹的6本書籍對(duì)于C++的學(xué)習(xí)就已經(jīng)足夠了。

但是,不同同學(xué)有不同的學(xué)習(xí)偏好,有的同學(xué)喜歡通過看書學(xué)習(xí)新知識(shí),有的同學(xué)則更加傾向看視頻。

所以,這里也給大家推薦兩個(gè)視頻課程,都是免費(fèi)的。

《面向?qū)ο蟪绦蛟O(shè)計(jì)-C++》

內(nèi)容包括基本理論、類與對(duì)象、構(gòu)造與清除、函數(shù)、引用、繼承與多態(tài)、拷貝構(gòu)造、運(yùn)算符重載、異常、模板和流等,課程中貫通匯編、操作系統(tǒng)等知識(shí),深入淺出,在這個(gè)課程里可以看到很多有關(guān)上面這些經(jīng)典書籍的影子,可以說是一份比較用心的課程。

《C++教程:從0到1入門編程》面向?qū)ο蟪绦蛟O(shè)計(jì)-C++ - 網(wǎng)易云課堂《C++教程:從0到1入門編程》

B站上一個(gè)頗受歡迎的C++視頻課程,目前播放量已經(jīng)超過1500萬,從基本語法到進(jìn)階知識(shí),從概念理解到動(dòng)手實(shí)踐,沒有多余的話術(shù),純干貨的視頻教程,對(duì)初學(xué)者非常友好。

開源項(xiàng)目

我個(gè)人認(rèn)為,開源項(xiàng)目是學(xué)習(xí)一門編程語言非常快捷且行之有效的方法。

得益于強(qiáng)大的Github,提供了很多開源優(yōu)質(zhì)的項(xiàng)目,在這些項(xiàng)目中,我們可以學(xué)習(xí)那些優(yōu)秀程序員的編碼方式、學(xué)習(xí)并借鑒它們的程序設(shè)計(jì)模式。還能夠從這些項(xiàng)目中得到一些靈感,去動(dòng)手做一些實(shí)戰(zhàn)項(xiàng)目,讓我們從書本的理論知識(shí)中走出來,走向貼近實(shí)際場景的項(xiàng)目,讓我們的技術(shù)得到升華可提煉,讓我們從一個(gè)普通C++程序員進(jìn)階到一個(gè)高階C++程序員。

interview

Star:24.4k

C/C++ 技術(shù)面試基礎(chǔ)知識(shí)總結(jié),包括語言、程序庫、數(shù)據(jù)結(jié)構(gòu)、算法、系統(tǒng)、網(wǎng)絡(luò)、鏈接裝載庫等知識(shí)。

這是一個(gè)比較適合初學(xué)者的C++項(xiàng)目,沉淀了面試過程中C++相關(guān)的一些問題和解答,這些知識(shí)相對(duì)于書本上的內(nèi)容,更加貼合項(xiàng)目實(shí)戰(zhàn),往往都是實(shí)際項(xiàng)目中會(huì)遇到的一些問題。

因此,這個(gè)項(xiàng)目可以讓我們脫離書籍和教程,學(xué)到很多有實(shí)戰(zhàn)價(jià)值的C++知識(shí)和技巧。

tinytetris

Star:1.7k

這是一個(gè)利用C++實(shí)現(xiàn)的俄羅斯方塊的小項(xiàng)目,相對(duì)于那些大型項(xiàng)目,這個(gè)項(xiàng)目對(duì)初學(xué)者比較輕松,而且把C++和耳熟能詳?shù)挠螒蜷_發(fā)有機(jī)的結(jié)合到一起,這會(huì)讓學(xué)習(xí)者有更加直觀的感受,也有更加強(qiáng)烈的代入感,能夠把學(xué)習(xí)者的注意力吸引到程序的設(shè)計(jì)過程中。例如,如何實(shí)現(xiàn)方塊圖像?如何實(shí)現(xiàn)方塊的移動(dòng)和選擇?如何實(shí)現(xiàn)消除和積分功能?

這些拋出的問題在這個(gè)小項(xiàng)目中都可以找到解答。

MyTinySTL

Star:6.3k

就如同前面介紹的那樣,STL是C++中很重要的組成部分,是學(xué)習(xí)C++無法繞開的概念。

MyTinySTL通過一個(gè)個(gè)代碼示例,配以詳細(xì)的注釋詳解,讓初學(xué)者更加清楚STL的用法,對(duì)于剛學(xué)完基礎(chǔ)知識(shí)想要夯實(shí)基礎(chǔ)的同學(xué)非常有價(jià)值。

到這里,介紹了幾個(gè)比較適合初學(xué)者的開源項(xiàng)目,這些比較適合剛撇下書本,需要用一些實(shí)戰(zhàn)項(xiàng)目來練手、提升自己對(duì)理論知識(shí)印象和理解的同學(xué),下面再介紹幾個(gè)進(jìn)階實(shí)戰(zhàn)的開源項(xiàng)目。

Cytopia

Star:1.4k

Cytopia是一個(gè)免費(fèi)的、開源的復(fù)古像素藝術(shù)城市建設(shè)游戲,它采用了基于SDL2的自定義等距渲染引擎。

在這個(gè)項(xiàng)目中涉及到游戲開發(fā)中的很多關(guān)鍵因素,例如,渲染引擎、UI系統(tǒng)、攝像機(jī)平移縮放、地形操作、聲音效果等等。

這是一個(gè)比較完整且豐富的開源項(xiàng)目,對(duì)游戲開發(fā)感興趣的同學(xué)可以深入學(xué)習(xí)一下。

OpenTTD

Star:4.1k

OpenTTD是一款運(yùn)輸模擬游戲,基于Chris Sawyer編寫的流行游戲Transport Tycoon Deluxe。

它試圖盡可能地模仿原來的游戲,同時(shí)用新的功能來擴(kuò)展它。

OpenTTD采用GNU通用公共許可證2.0版,但包括一些采用不同許可證的第三方軟件。

devilutionX

Star:5.8k

devilutionX是《暗黑破壞神》和《地獄之火》的源碼移植,它努力使游戲的運(yùn)行變得簡單,同時(shí)提供引擎改進(jìn)、錯(cuò)誤修復(fù)和一些可選的生活質(zhì)量功能。

calculator

Star:25k

calculator是一個(gè)用C++編寫的Windows計(jì)算器程序,預(yù)裝在Windows中。

沒錯(cuò),就是我們現(xiàn)在在Windows操作系統(tǒng)中使用的那個(gè)計(jì)算器。

該應(yīng)用程序提供了標(biāo)準(zhǔn)、科學(xué)和程序員計(jì)算器的功能,以及一組各種測量單位和貨幣之間的轉(zhuǎn)換器。

DearPyGui

Star:7.9k

DearPYGui是一款用C++開發(fā),適用于Python的快速而強(qiáng)大的圖形用戶界面工具包,具有最小的依賴性。

在這個(gè)項(xiàng)目中,可以學(xué)習(xí)如何使用C++實(shí)現(xiàn)UI界面,進(jìn)行圖形圖像的開發(fā)。

Clementine

Star:3.2k

Clementine是一款適用于Windows、Linux和macOS的現(xiàn)代音樂播放器和資料庫組織工具。

通過這個(gè)項(xiàng)目,我們可以學(xué)習(xí)如何通過C++處理音頻文件,以及實(shí)現(xiàn)文件的組織與管理。

zeal

Star:9.6k

zeal是一款由C++開發(fā)的離線文檔瀏覽和閱讀工具,通過這個(gè)項(xiàng)目會(huì)涉及到Qt、cmake、libarchive、SQLite等工具的用法。

開源項(xiàng)目這里,我共介紹了10個(gè)項(xiàng)目,涉及到實(shí)戰(zhàn)知識(shí)、游戲開發(fā)、用戶界面、游戲引擎、媒體播放、文檔工具,有比較適合初學(xué)者的,也有適合C++進(jìn)階的,大家可以根據(jù)自己感興趣的方向選擇適合的項(xiàng)目進(jìn)行深入了解和學(xué)習(xí)!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多