原创 C++多態(基礎)

繼承可以實現代碼複用,但它的主要用處是可以實現多態。 多態 一、概念         多態是指完成某個行爲時,當不同的對象去完成會產生出不同的狀態         舉個例子:買票的時候,成人票全價,兒童票半價         簡單的說

原创 C++:inline與#define的區別

內聯函數inline 概念:         以inline修飾的函數叫做內聯函數,編譯時C++編譯器會在調用內聯函數的地方展開,沒有函數壓棧的開銷, 從而能夠提升程序運行的效率。 特性: inline是一種以空間換時間的做法,省去調用函

原创 C++繼承(基礎)

賦值兼容規則       public繼承方式下,派生類對象可以賦值給基類的對象/指針/引用,但是基類不能賦值給派生類。 可以將派生類的對象看成是基類的對象    在使用基類對象的位置,都可以使用派生類對象進行替換 基類的指針/引用可以指

原创 去除字符串中的空格(C)

思路:不開闢新空間,直接在字符串上直接進行操作,把空格用後面的字符串填充。 解法:除數組名本身這個指針外,只需創建一個指針來指向空格後面的字符,將字符賦給空格後,原字符所在位置置爲空格,兩個指針同時向後移動一步,繼續循環直到 指向字符的指

原创 計算機網絡基礎之網絡編程套接字

IP地址(IP)         IP地址是在IP協議中,用來標識網絡中不同主機的地址。IP協議有兩個版本,IPv與IPv6,在一般情況下默認的都是IPv4。對於IPv4來說,IP地址是一個無符號四字節32位的整數(uint32_t)。

原创 計算機網絡基礎:TCP協議之三次握手與四次揮手

在上一篇裏,我們瞭解了傳輸層的TCP協議以及TCP協議實現的機制,接下來我們就來詳解一下TCP協議的連接管理機制: 連接管理          TCP提供面向有連接的數據傳輸,面向有連接是指在數據通信開始之前先做好通信兩端之間的準備工

原创 計算機網絡基礎之初識網絡

網絡的發展背景:多個電腦連接到同一個路由器上,形成了局域網。 網絡的使用:數據傳輸(不同主機上的進程間通信)                                                               

原创 【STL】之String類的模擬實現

#pragma once #define _CRT_SECURE_NO_WARNINGS 1 #include<assert.h> #include<stdio.h> #include<stdlib.h> #include<string

原创 數據結構:棧與隊列

棧的原則是後進先出,即插入與刪除元素均在棧頂進行。 (獲取棧頂元素:s.top() ) 隊列的原則是先進先出,即插入數據在隊尾進行,刪除數據在隊頭進行。  (獲取隊頭元素:q.front() ) 用兩個棧實現一個隊列 思路:用兩個

原创 Linux:實現一個簡單的線程池

線程池 一、定義:線程池是一種線程使用模式。 二、目的:線程過多會帶來調度開銷,進而影響緩存局部性和整體性能。而線程池維護着多個線程,等待着監督管理者分配可併發執行的任務。這避免了在處理短時間任務時創建與銷燬線程的代價。線程池不僅能夠保證

原创 C++:基類析構函數爲什麼要定義爲虛函數

        在C++實現多態裏,有一個關於 析構函數的重寫問題:基類中的析構函數如果是虛函數,那麼派生類的析構函數就重寫了基類的析構函數。這裏他們的函數名不相同,看起來違背了重寫的規則,但實際上編譯器對析構函數的名稱做了特殊處理,編

原创 C++:淺析智能指針

智能指針是爲了解決C++裏防止程序員因爲忘記釋放資源而造成內存泄漏的問題 RAII         RAII(Resource Acquisition Is Initialization)是一種利用對象生命週期來控制程序資源(如內存、

原创 C++:派生類指針賦值給基類指針問題

在C++繼承中,很容易遇到一個問題,那就是將派生類指針賦值給基類指針(向上轉型)的情況,下面我們就來舉例分析: 舉一個多繼承的例子: #include <iostream> using namespace std; //基類A cl

原创 Linux:理解用戶態與內核態

目錄 一、用戶態與內核態的概念 二、爲什麼要有用戶態和內核態 三、用戶態與內核態的切換 在Linux的學習中經常會遇到用戶態和內核態這兩個術語,今天我們就來好好了解一下:  一、用戶態與內核態的概念         先看一下Linux

原创 C++:模板總結

目錄 模板          函數模板:          類模板: 模板 一、定義:         模板是泛型編程的基礎。(泛型:任意類型)         泛型編程:編寫與類型無關的通用代碼,是代碼複用的一種手段。 二、分類: