本章會帶領(lǐng)大家回顧C(jī)語言必要的基礎(chǔ)知識,重點(diǎn)講解C語言中的指針等難點(diǎn)內(nèi)容,幫助大家為后續(xù)學(xué)習(xí)開發(fā)做好準(zhǔn)備。
本部分就實(shí)際工作工程中C語言工程師,即使是資深工程師也經(jīng)常犯錯的問題進(jìn)行討論,介紹C語言的易錯陷阱和C++的改進(jìn)方案,以幫助工程師更好的理解C++的設(shè)計(jì)和解決方案,為成為資深的高級工程師和架構(gòu)師打下扎實(shí)的基礎(chǔ)。
本章帶大家回顧FFmpeg開發(fā)必備C語言基礎(chǔ),包括C語言中的常量與變量,C語言結(jié)構(gòu)體,C語言中的判斷語句, C語言中的循環(huán)語句,C語言再論指針,C語言中的函數(shù) ,C語言對文件的操作,編譯的基本原理,調(diào)試器等。
雖然C++11棄用了異常標(biāo)準(zhǔn),但是,在實(shí)際開發(fā)中,程序必須考慮異常的情況。學(xué)習(xí)異常和斷言,有助于寫出更穩(wěn)定的程序。
數(shù)據(jù)是信息的載體,在計(jì)算機(jī)的世界里,一切都是數(shù)據(jù)。數(shù)據(jù)需要運(yùn)算,加減乘除、比較大小、條件是否成立等,和我們生活中的運(yùn)算是一樣的。
了解C++的歷史概況,C++語言的特點(diǎn)及C++語言作用,認(rèn)識哪些場合下C++是無可替代的;
萬丈高樓首先要打地基、搭框架,如果沒有牢固的基礎(chǔ),后面就很難砌墻、安裝門窗。學(xué)習(xí)計(jì)算機(jī)語言也應(yīng)該從程序的基本結(jié)構(gòu)學(xué)起,只有這樣,才能一步一步的了解具體細(xì)節(jié).
今天我們繼續(xù)深入學(xué)習(xí)C++指針,同學(xué)們繼續(xù)加油:)
C++11標(biāo)準(zhǔn)是C++發(fā)展史上的里程碑,豐富了C++的功能,提性了C++的性能。目前,C++11已經(jīng)普及,在實(shí)際開發(fā)中得到了廣泛的應(yīng)用,企業(yè)面試的時候必考C++11標(biāo)準(zhǔn)。
數(shù)據(jù)存放在內(nèi)存中,數(shù)據(jù)類型作用是告訴計(jì)算機(jī)如何處理數(shù)據(jù)。如果數(shù)據(jù)類型是整數(shù),那么它可以進(jìn)行加減乘除運(yùn)算,如果是字符串,那它只能顯示。C++的數(shù)據(jù)類型只有三種:整數(shù)、小數(shù)和字符串,這三種數(shù)據(jù)類型可以表示萬物。
介紹一下公司對于C++候選人用人標(biāo)準(zhǔn)的變化,以及不同公司面試的不同偏向。
本章主要講解演示編譯環(huán)境搭建,IDE配置,調(diào)試方法,代碼規(guī)范風(fēng)格等內(nèi)容,為課程后續(xù)內(nèi)容做足準(zhǔn)備工作。
結(jié)合c語言編譯后的匯編語言深入講解c語言本質(zhì)
- 6-1 C語言函數(shù)
- 6-2 匯編和C語言結(jié)構(gòu)
- 6-3 常見x86匯編指令介紹
- 6-4 x86指令的格式
- 6-5 C語言函數(shù)外
- 6-6 C語言函數(shù)
- 6-7 C語言語句
- 6-8 C語言運(yùn)算符
- 6-9 C語言printf函數(shù)
- 6-10 預(yù)處理宏定義
- 6-11 整數(shù)詳解
- 6-12 整數(shù)加減乘除
- 6-13 類型轉(zhuǎn)換規(guī)則
- 6-14 浮點(diǎn)數(shù)
- 6-15 浮點(diǎn)fpu指令
- 6-16 浮點(diǎn)sse指令
- 6-17 指針數(shù)組字符串
- 6-18 結(jié)構(gòu)體聯(lián)合體枚舉
- 6-19 csapp的data-bomb-attack實(shí)驗(yàn)
- 6-20 鏈接詳解
在過去的幾年里,隨著微軟.net平臺的開源、以及unity游戲平臺的興起,c#程序開發(fā)產(chǎn)生了爆炸式的發(fā)展?,F(xiàn)在,c#開發(fā)相關(guān)的生態(tài)已經(jīng)非常完善了,而c#本身也一躍成為市場上最具有競爭力的編程語言之一。課程的第一章,我們簡單了解一下課程大綱,初步認(rèn)識C#和.Net平臺,準(zhǔn)備好我們的開發(fā)環(huán)境。
通過剖析C++常見經(jīng)典著作和對一些大牛的經(jīng)驗(yàn)解讀,排除大家學(xué)習(xí)C++的坑,為大家將來成為C++技術(shù)大牛鋪設(shè)一條基本路線;
本章重點(diǎn)介紹Linux平臺使用C++語言編程的基礎(chǔ)知識、平臺搭建、編寫程序、調(diào)試及在復(fù)雜工程中Makefile的使用等。
- 11-1 -1 Linux C++環(huán)境搭建、編程和調(diào)試基礎(chǔ)上
- 11-2 -2 Linux C++環(huán)境搭建、編程和調(diào)試基礎(chǔ)下
- 11-3 LinuxCPP之什么是Makefile
- 11-4 LinuxCPP之Makefile產(chǎn)生的背景
- 11-5 LinuxCPP之Makefile之make和Makefile的調(diào)用
- 11-6 LinuxCPP之Makefile的格式
- 11-7 LinuxCPP之Makefile的擴(kuò)展用法
- 11-8 LinuxCPP之Makefile編寫中的變量1
- 11-9 LinuxCPP之Makefile編寫中的變量2
- 11-10 LinuxCPP之Makefile編寫中的變量3
- 11-11 LinuxCPP之Makefile的自動生成和部署--CMake的使用
- 11-12 VisualStudio開發(fā)LinuxCPP的基本使用
今天我們繼續(xù)學(xué)習(xí)C++數(shù)據(jù)類型,加油:)
不要在錯誤的學(xué)習(xí)方法上內(nèi)耗,幫助你管理好精力,明確學(xué)習(xí)努力的方向。
本章和大家介紹程序員小慕,以及小慕工作中的痛點(diǎn),引導(dǎo)大家如何正確的學(xué)習(xí)設(shè)計(jì)模式。
C++從0實(shí)現(xiàn)百萬并發(fā)的Reactor服務(wù)器-課程概覽
為了便于大家更好的學(xué)習(xí)流媒體服務(wù)器的開發(fā),本章將帶大家對WebRTC服務(wù)器開發(fā)中用到的C++基礎(chǔ)知識進(jìn)行回顧梳理,如類的定義與使用,繼承,多態(tài),名存空間等相關(guān)知識。
深入講解基本語句:賦值語句,判斷語言,循環(huán)語言for, while;深入講解基本數(shù)據(jù)與結(jié)構(gòu),枚舉,結(jié)構(gòu)體和聯(lián)合體;深入講解函數(shù),遞歸函數(shù)的來龍去脈;淺析類與面向?qū)ο蟮母拍睿徽務(wù)劽臻g的使用。
- 7-1 C++語言到底需不需要GC(Gabage Collector
- 7-2 if語句基礎(chǔ)
- 7-3 if語句的例子
- 7-4 switch分支基礎(chǔ)
- 7-5 switch和if的對比
- 7-6 自定義類型--枚舉
- 7-7 自定義類型--結(jié)構(gòu)體與聯(lián)合體
- 7-8 結(jié)構(gòu)體的內(nèi)存布局
- 7-9 三種循環(huán)的基本使用與比較
- 7-10 for循環(huán)的一個優(yōu)化實(shí)例
- 7-11 函數(shù)基礎(chǔ)
- 7-12 函數(shù)重載overload與Name Mangling
- 7-13 指向函數(shù)的指針與返回指針的函數(shù)
- 7-14 命名空間。
- 7-15 函數(shù)體的Hack過程
- 7-16 內(nèi)聯(lián)函數(shù)。
- 7-17 數(shù)學(xué)歸納法與遞歸
- 7-18 遞歸的特點(diǎn)和Hack過程
- 7-19 尾遞歸的優(yōu)化
- 7-20 遞歸的動態(tài)規(guī)劃思路
- 7-21 C++語言到底需不需要GC(Gabage Collector
深入再談Class;深入再談面向?qū)ο竽J剑?3種設(shè)計(jì)模式的思路和最常用的單例,觀察者模式等在工程中的實(shí)際使用;分析C++模版編程范式;
- 9-1 C++中資源管理的方式很多:堆,棧,常量區(qū),RAII等,該如
- 9-2 單例模式。
- 9-3 static和單例模式的實(shí)現(xiàn)
- 9-4 觀察者模式
- 9-5 list的使用和觀察者模式的實(shí)現(xiàn)1
- 9-6 觀察者模式的實(shí)現(xiàn)2
- 9-7 void星NULL和nullptr
- 9-8 const_cast的使用
- 9-9 reinterpret_cast的使用
- 9-10 static_cast和dynamic_cast的使用
- 9-11 Adapter模式和多重繼承
- 9-12 Adapter組合方式實(shí)現(xiàn)
- 9-13 設(shè)計(jì)模式總結(jié)
- 9-14 泛型編程之泛型函數(shù)1
- 9-15 泛型編程之泛型函數(shù)2
- 9-16 泛型編程的遞推過程及總結(jié)
- 9-17 C++中資源管理的方式很多:堆,棧,常量區(qū),RAII等,該如
深入剖析C++類型轉(zhuǎn)換:顯式轉(zhuǎn)換的四種常見的方式,隱式轉(zhuǎn)換類型轉(zhuǎn)換的影響; 用通俗易懂的方式深入淺出講解異常,IO,文件,線程,模版編程,這些很難難用的部分;
- 8-1 C++編程中需要使用面向?qū)ο蟮脑O(shè)計(jì)模式嗎?
- 8-2 面向?qū)ο蟮某橄蠓▌t1-具體類型的抽象
- 8-3 對象的屬性
- 8-4 運(yùn)算符重載
- 8-5 拷貝構(gòu)造及臨時對象的優(yōu)化
- 8-6 前置與后置操作符
- 8-7 標(biāo)準(zhǔn)輸入輸出IO重載
- 8-8 IO流基礎(chǔ)
- 8-9 IO緩存區(qū)
- 8-10 文件操作基礎(chǔ)
- 8-11 文本文件的操作
- 8-12 二進(jìn)制文件的操作
- 8-13 Complex其他運(yùn)算符重載
- 8-14 頭文件重復(fù)包含問題
- 8-15 關(guān)于前七章的練習(xí)題及答案
- 8-16 深拷貝淺拷貝及move語義的優(yōu)化
- 8-17 面向?qū)ο蟮某橄蠓▌t2
- 8-18 Hack對象模型和虛函數(shù)
- 8-19 面向?qū)ο笕筇匦约翱偨Y(jié)
- 8-20 C++編程中需要使用面向?qū)ο蟮脑O(shè)計(jì)模式嗎?
本章主要講解OC語言特性相關(guān)的面試題,如分類、擴(kuò)展、代理、通知、KVC、KVO(底層實(shí)現(xiàn)是高級考點(diǎn))、關(guān)聯(lián)對象等。對于每一知識點(diǎn)都會深度講解其技術(shù)原理、實(shí)現(xiàn)機(jī)制,其中也會涉及一部分系統(tǒng)源碼解讀;讓同學(xué)們在學(xué)完后能知其然,知其所以然,應(yīng)對面試自然是小菜一碟。
指針是C++重點(diǎn):深入講解指針的概念,各種類型的指針,const指針,數(shù)組指針與指針數(shù)組;指針的指針,指向函數(shù)的指針;更高級的內(nèi)容:如何避免野指針,各種指針的使用場景,及實(shí)際工程中必須避免的用法和相對好的做法;講解引用與指針的關(guān)系: 會使用引用,知道實(shí)際工程中比較好的一些做法;
- 6-1 C++編程中我們是不是應(yīng)該盡量避免使用指針?
- 6-2 左值與右值
- 6-3 一般指針,數(shù)組指針和指針數(shù)組
- 6-4 const與指針
- 6-5 指向指針的指針
- 6-6 關(guān)于野指針
- 6-7 指針的基本操作一
- 6-8 指針的基本操作二
- 6-9 指針的基本操作三
- 6-10 CPP程序的存儲區(qū)域劃分
- 6-11 CPP程序的存儲區(qū)域劃分總結(jié)
- 6-12 CPP動態(tài)分配和回收原則
- 6-13 RAII初步
- 6-14 幾種變量的對比
- 6-15 內(nèi)存泄漏
- 6-16 智能指針auto_ptr
- 6-17 智能指針unique_ptr
- 6-18 shared_ptr和weak_ptr理論講解
- 6-19 shared_ptr和weak_ptr代碼演示
- 6-20 引用
- 6-21 C++編程中我們是不是應(yīng)該盡量避免使用指針?
調(diào)試和查看程序的匯編實(shí)現(xiàn)是C++程序員的基本功,也為優(yōu)化程序性能做好了準(zhǔn)備。本章初步介紹了函數(shù)的匯編表現(xiàn)形勢,并以一個shellcode的實(shí)現(xiàn)為例講述了程序的安全漏洞問題和解決方案。
本章將基于gcc講解C語言編譯過程中的各個環(huán)節(jié)和細(xì)節(jié),幫助你了解C語言是如何從源碼一步一步編譯成最后的可執(zhí)行文件,也會講解如何將自己的模塊作為依賴導(dǎo)出,如何使用conan來管理第三方依賴,本章最后還會以C++和Java為例傳授你如何使用其他語言來調(diào)用C語言庫。
雖然C++11棄用了異常標(biāo)準(zhǔn),但是,在實(shí)際開發(fā)中,程序必須考慮異常的情況。學(xué)習(xí)異常和斷言,有助于寫出更穩(wěn)定的程序。