原创 網絡編程預習2

1.TCP與UDP的區別 TCP:傳輸控制協議,爲應用程序提供可靠的通信連接,適合一次傳輸大批數據的情況,並 適用要求得到相應的應用程序 UDP:用戶數據包協議,提供無線連接通信,且不對傳誦包進行可靠的保證,適合一次傳輸少量數據 2.T

原创 C語言聊天室項目說明書

網絡聊天室項目說明 項目的目的和意義 該聊天室項目爲利用linux下C語言網絡編程相關知識,採用Server/Client,即服務器與客戶端的基本框架實現。整個項目涉及了socket套接字,線程,嵌入式數據庫sqlite3,select模

原创 C語言知識點

1.C語言之父是丹尼斯·裏奇,他不僅是C語言之父還是UNIX之父;   2.C語言的三個特點(爲什麼嵌入式的開發選擇C語言爲開發語言) (1)運行的效率高:C語言的目標代碼效率一般只比彙編程序低10%~20%,因此在同類的語言中,C語言具

原创 C++基礎語法學習1

1.命名空間 namespace  爲什麼要使用命名空間:一箇中大型軟件往往由多名程序員共同開發,會使用大量的變量和函數,不可避免地會出現變量或函數的命名衝突。當所有人的代碼都測試通過,沒有問題時,將它們結合到一起就有可能會出現命名衝突。

原创 C++基礎語法學習(5)

1.繼承應用的場景 1) 當你創建的新類與現有的類相似,只是多出若干成員變量或成員函數時,可以使用繼承,這樣不但會減少代碼量,而且新類會擁有基類的所有功能。   2) 當你需要創建多個類,它們擁有很多相似的成員變量或成員函數時,也可以使用

原创 C++基礎語法學習(2)

1.面嚮對象語言開發效率高,運行效率下降百分之十左右 2.private 私有,類內部調用    protected 受保護(用於繼承)    public 公有,內外都可以調用 3.class中默認是私有權限   struct 中默認是

原创 C++語法學習(8)

1.序列式容器(Sequence containers)       每個元素都有固定位置--取決於插入時機和地點,和元素值無關。       vector、deque、list   關聯式容器(Associated containers

原创 C++基礎語法學習(3)

1.對象初始化列表:當成員變量是一個對象,且該對象沒有無參構造函數 1.必須這樣做: 如果我們有一個類成員,它本身是一個類或者是一個結構,而且這個成員它只有一個帶參數的構造函數,沒有默認構造函數。這時要對這個類成員進行初始化,就必須調用這

原创 C++語法學習(7)

1.函數模板 函數模板由模板說明和函數定義構成 模板說明的類屬參數至少在函數定義中出現一次 函數參數表中可以使用類屬類型參數,也可以使用普通類型 2.函數模板不允許自動類型轉化 普通函數能夠進行自動類型轉換 3.當函數模板遇到普通函數 1

原创 面試題筆記(五)

1.進程的內存空間有一塊是專門用於NULL指針分配的分區,這個分區的地址空間是禁止進入的,因此就會發生內存訪問違規現象,同時該進程將終止運行 2.對於類成員函數,並不是一個對象單獨對應一個成員函數體,而是此類的所有對象公用這個成員函數體,

原创 C++基礎語法學習(4)

1. 如果能作爲左值則返回引用,例如a+b不能作爲左值,a=b可作爲左值,a++不能作爲左值,其返回一個值,是常量,++a可作爲左指,返回a這個變量 2.當無法修改左操作數的類時,使用全局變量進行重載,如<<和>>,因爲無法修改ostre

原创 進程產生死鎖的四個必要條件

轉自:https://blog.csdn.net/jyy305/article/details/70077042 死鎖產生的四個必要條件 互斥條件:資源是獨佔的且排他使用,進程互斥使用資源,即任意時刻一個資源只能給一個進程使用,其他進程若

原创 含有虛函數,虛繼承的類的大小

當類中含有虛繼承時(在vs環境下,linux環境下有歧義) 1. 派生類對象中會添加一個指針,該指針指向虛繼承的基類,稱爲虛類指針(cPtr)。每一個指針只指向其中一個虛繼承的類,也就是說,虛繼承了幾個類,就會有幾個cPtr。     2

原创 面試題筆記(三)

1.鏈隊(隊列) 先進先出,允許插入的一端爲隊尾,允許刪除的一端爲隊頭   2. 數據的邏輯結構分爲線性結構和非線性結構。 線性結構:一對一關係 非線性: 樹形結構:一對多關係 圖形或網狀結構:多對多關係 集合:結構中的數據元素之間除

原创 C++語法學習(6)

1.函數重寫 在子類中定義與父類中原型相同的函數 函數重寫只發生在父類與子類之間 重載與重寫區別: 重載:同一個作用域;       子類無法重載父類函數,父類同名函數將被覆蓋;       重載是在編譯期間根據參數類型和個數決定; 重寫