原创 C++-多態

多態 多態的概念 通俗的來講,就是多種形態。具體點就是去完成某個行爲,當不同的對象去完成時會產生不同的狀態。 比如:買票這個行爲,當普通人買票時,是全價買票;學生買票時,是半價買票;軍人買票時是優 先買票。 多態的定義及實現 多態

原创 網絡基礎知識-傳輸層

傳輸層 負責端與端之間的數據傳輸。也就是說進程與進程之間的數據傳輸,進程用端口來表示,所以也可以叫做端口和端口之間的傳輸。 端口號 端口號爲0-65535,一般0-1023爲知名端口,不推薦使用,在一臺主機上表示一個進程。 操作系

原创 C++-繼承

C++繼承 繼承的概念及定義 繼承的概念 繼承機制是面向對象程序設計使代碼可以複用的常用手段,它允許程序員保持原有類特性的基礎上進行擴展,增加功能,這樣產生新的類,稱派生類。繼承呈現了面向對象程序設計的層次結構,體現了由簡單到複雜

原创 網絡基礎知識-應用層

在瞭解網絡整體模型之前學習了套接字編程和一些簡單的網絡知識。但是網絡編程的理論基礎是建立在多方面上的,比如數據在每一層是經過了怎麼樣的封裝,每一層使用了哪些協議,每一層的協議又有哪些用途。只有掌握好這些基礎知識,才能更好的成爲一個

原创 C++-內存管理

參考博客:https://blog.csdn.net/jing0611/article/details/4030237 在最開始的學習中,老師一直在說一個關於C++的話題。C++是一個極度追求性能的語言。 通過學習,這不是開玩笑,

原创 TCP的三次握手與四次揮手

TCP的三次握手與四次揮手 關於題目的這個問題,在網絡中有着非常重要的地位。因爲客戶端與服務端之間通過TCP協議,爲了進行數據的傳輸會進行一系列的操作,這中間的操作就是TCP的三次握手與四次揮手。 重新回顧TCP協議 TCP協議稱

原创 Linux網絡套接字編程(2)-TCP傳輸+多線程+多進程

TCP傳輸 TCP的三次握手 圖解爲TCP協議的傳輸過程。 客戶端操作 服務端操作 1、創建套接字 1、創建套接字 2、向服務端發起連接 2、綁定地址信息 3、發送數據 3、監聽(若有新的客戶端,新建soc

原创 C++-模板初瞭解

模板初階 泛型編程 在C語言的學習過程中,經常會出現這麼一個場景,我們需要交換兩個數,但是我們每次又在另一個場景中,所以需要立即重寫一個swap()函數,這就浪費了大量的時間。 在C++的最開始我們學習了函數的重載,這解決了一些燃

原创 Linux多線程(3)

線程安全的考慮關乎互斥鎖和條件變量 消費者與生產者模型 當我們去超市買東西時,我們都認爲我們是消費者,那些生產商品的都被認爲是生產者。那麼超市就被當作交易市場。 這對比的我們的軟件開發過程中:代碼的某個模塊負責生產數據,但是生產出

原创 Linux網絡編程套接字-UDP傳輸

網絡編程套接字 udp傳輸 客戶端 1、創建套接字 socket() 2、爲套接字綁定地址 bind() 3、發送數據(如果socket還沒有綁定地址,這時候操作系統會選擇一個合適的地址端口進行綁定) 4、接收數據 5、關閉套接字

原创 C++-類與對象(3)

類與對象(3) 再學構造函數 構造函數體賦值 先構造一個帶有全缺省的日期類 class Date { public: Date(int year,int month,int day) { _ye

原创 Linux網絡編程

網絡編程 瞭解網絡名詞 IP地址:在網絡中唯一標識的一臺主機 port端口:在一臺主機上標識一個進程 協議:通信雙方的約定 網絡協議:網絡通信環境中數據的約定格式 通信協議標準:網絡互聯的前提 協議分層 在以往的瞭解知道協議具有多

原创 C++-類與對象(2)

類與對象(第二部分) 類的6個默認成員函數 如果一個類中什麼成員都沒有,簡稱爲空類。空類並不是什麼都沒有,任何類在我們不寫的情況下,都會自動生成6個默認成員函數 構造函數 構造函數的概念 構造函數是一個特殊的成員函數,名字與類名

原创 Linux多線程(2)

線程的知識點太多,太重要,所以分成三部分進行總結學習 線程安全 多個線程併發同一段代碼時,不會出現不同的結果。常見對全局變量或者靜態變量進行操作,並且沒有鎖保護的情況下,會出現該問題。 多個線程對臨界資源進行競爭操作時若不會造成數

原创 Linux多線程

多線程 越深入的學習之後,經常能聽到這麼一個詞----多線程。之前的學習經常會提到多進程,父進程在忙不過來的情況下,會創建子進程進行幫忙,這樣就是一個多進程的任務。那麼什麼是多線程呢? 線程概念 在傳統的操作系統中,進程就是一個運