原创 快速排序之代碼問題

快速排序之代碼問題無限循環錯誤賦值不同形式最大容量 實現快速排序之時,如果不注意細節,可能遺留一些漏洞。 無限循環 有一種實現看似能夠正常排序,其實存在無限循環的隱患。當左右遊標索引元素與中軸元素相等,由於無法進入內層循環,左右遊

原创 C++11 once_flag與call_once組合,實現只調用一次函數

once_flag與call_once頭文件once_flag結構call_once函數模板用法錯誤用法參考資料 頭文件 #include <mutex> once_flag結構 std::once_flag實例的狀態,指示所關

原创 C++17 線程類

線程類Thread.h任務配置設計編譯依存性降低策略成員變量成員函數公有函數私有函數Thread.cpp數據結構——Structure成員函數默認構造函數默認析構函數任務隊列及回調函數子配置方法任務配置方法啓動方法獲取線程ID方法

原创 C++17 線程池類

線程池類ThreadPool.h調度設計成員變量成員函數公有函數私有函數ThreadPool.cpp數據結構——Structure成員函數默認構造函數默認析構函數獲取支持的併發線程數量訪問線程數量方法獲取任務數量方法添加單任務方法

原创 Ubuntu搭建SFTP服務器

Ubuntu默認只安裝openssh-client,需要手動安裝openssh-server或者sftp-server。 安裝SFTP服務 # sudo apt-get install sftp-server sudo apt-g

原创 C++17 if/switch初始化語句塊

對於C++17標準,if和switch語句有以下新形式: if (init; condition) switch (init; condition) 初始語句支持定義多個相同類型的變量,條件語句可以是任何條件,不限於以變量值作

原创 git命令之提交更改

顯示目錄樹狀態 查看文件變動情況。 git status 添加文件至索引 爲記錄更改內容提供支持,用以檢索變動文件。 git add relative-path 刪除文件 列舉文件名,刪除指定文件。 文件名:相對於庫根目錄的路

原创 Visual Studio引用MySQL庫

Visual Studio配置MySQL庫創建項目添加源文件引用外部庫方式以絕對路徑方式引用MySQL庫以相對路徑的方式引用MySQL庫測試配置 創建項目 打開Visual Studio,點擊菜單欄的文件,出現下拉菜單,依次選擇新

原创 Visual Studio 2017安裝使用方法

Visual Studio 2017安裝步驟前期準備安裝過程開發環境啓動註冊項目創建程序運行 下載地址和調試技巧見總篇——Microsoft Visual Studio快速運用教程 安裝步驟 前期準備 首先下載Visual Stu

原创 Visual Studio 2015安裝使用方法

Visual Studio 2015安裝步驟裝載鏡像安裝過程開發環境啓動註冊項目創建程序運行 安裝步驟 裝載鏡像 下載之後的文件是.iso格式的鏡像,Windows 8/10都能夠雙擊裝載鏡像,而Windows 7不能直接裝載,可

原创 Microsoft Visual Studio快速運用教程

此教程涵蓋Visual Studio 2013、2015、2017三個版本的安裝步驟、使用方法和調試技巧。 Visual Studio快速使用教程簡介版本下載地址微軟官網其他網站安裝步驟使用方法調試技巧調試菜單斷點設置調試運行單步

原创 Visual Studio 2013安裝使用方法

Visual Studio 2013安裝步驟裝載鏡像安裝過程開發環境啓動註冊項目創建程序運行 安裝步驟 裝載鏡像 下載之後的文件是.iso格式的鏡像,Windows 8/10都能夠雙擊裝載鏡像,而Windows 7不能直接裝載,可

原创 Ubuntu 18.04在線安裝MySQL 5.7.26

Ubuntu使用apt-get安裝MySQL安裝步驟更新軟件源安裝服務查找默認用戶和密碼修改密碼和驗證插件重啓服務連接服務開發準備搜索軟件安裝依賴庫編譯鏈接 安裝步驟 安裝軟件源之中的MySQL服務,僅供管理數據庫,未安裝開發工具

原创 C++11 once_flag與call_once組合,實現調用一次函數

once_flag與call_once頭文件once_flag結構call_once函數模板用法錯誤用法參考資料 頭文件 #include <mutex> once_flag結構 std::once_flag實例的狀態,指示所關

原创 線程池設計原理

線程池設計原理線程實現方式適用場景線程池類設計任務形式目錄 線程 實現方式 線程有三種實現方式,分別是內核級線程、用戶級線程和組合型線程。 內核級線程:擁有一個內核對象和一個棧,佔據着操作系統的一塊內核空間,其創建、阻塞、切換和