原创 C++. final關鍵字

兩個作用: 1. 修飾一個類不可以被繼承 class Widget final { public: private: };  2. 修飾一個虛函數不可以在派生類中被重寫 class Widget { public: virtu

原创 C++. 優先選用別名申明using,而非typedef. 簡單概括

使用using而非typedef的理由主要有兩點: typedef不支持模板化,但別名申明可以 別名模板可以讓人免寫”::type“後綴,並且在模板內,對於嵌套typedef的引用經常要求加上typename前綴 對於觀點1,對於像相面的

原创 線程池技術. 對java中線程池七大參數的學習. 設計思想借鑑

java線程池調用接口定義: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,

原创 C++引用. 底層實現原理. 調試理解

 test code. #include <iostream> #include <string> using namespace std; int main(int argc, char* argv[]) { int ref_

原创 Linux系統編程. IPC方式:共享內存和信號量 . 簡單複習

信號量和共享內存簡單實例練習:共享內存是所有IPC中最快的,但是需要某種形式的進程同步策略,通常選用信號量進行同步。 // 文件創建訪問權限 #define RWRWRW (S_IRUSR | S_IWUSR | S_IRGRP | S

原创 Linux內存分配 . malloc、brk、mmap. 簡單整理總結

Linux 的虛擬內存管理有幾個關鍵概念: 每個進程都有獨立的虛擬地址空間,進程訪問的虛擬地址並不是真正的物理地址; 虛擬地址可通過每個進程上的頁表(在每個進程的內核虛擬地址空間)與物理地址進行映射,獲得真正物理地址; 如果虛擬地址對應物

原创 正則表達式. 過濾不合法IP地址. 簡單複習一下正則式

這裏校驗的ip地址範圍是:0.0.0.0 - 255.255.255.255的範圍: #include <regex> regex re("(([0-9]|([1-9][0-9])|([1-2][0-4][0-9])|([1-2]

原创 mysql的c++調用接口(API) . 實現的簡單連接池. 項目筆記

系統:windows系統,linux版本暫不提供 源碼文件: WinTimer.h ThreadLock.h ThreadLock.cpp MysqlConnectionPool.h MysqlConnectionPool.cpp Ag

原创 C++. 重載 、 重寫 、覆蓋(隱藏). 區別和聯繫

重載: 即在同一類型作用域範圍內,名稱相同,參數類型、個數、順序不同的成員函數在編譯階段確定具體調用哪一個函數。 重寫: 對於類的繼承來說,基類中的虛函數如果在派生類中有完全copy版本(即名稱、參數完成相同的成員函數),則此種情況即

原创 C++. const_cast. 使用上的簡單總結

const_cast是一種C++運算符,主要是用來去除複合類型中const和volatile屬性(沒有真正去除)。 變量本身的const屬性是不能去除的,要想修改變量的值,一般是去除指針(或引用)的const屬性,再進行間接修改。

原创 死鎖 . 死鎖的四個必要條件以及處理策略

博客鏈接:https://blog.csdn.net/wljliujuan/article/details/79614019

原创 leetcode刷題. 35. 搜索插入位置. 簡單二分

給定一個排序數組和一個目標值,在數組中找到目標值,並返回其索引。如果目標值不存在於數組中,返回它將會被按順序插入的位置。 你可以假設數組中無重複元素。   int binarySearch(vector<int> &nums

原创 leetcode刷題. 16. 最接近的三數之和. dfs解法

給定一個包括 n 個整數的數組 nums 和 一個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。   void my_dfs(vector<i

原创 leetcode刷題. 18. 四數之和. 雙指針解法

給定一個包含 n 個整數的數組 nums 和一個目標值 target,判斷 nums 中是否存在四個元素 a,b,c 和 d ,使得 a + b + c + d 的值與 target 相等?找出所有滿足條件且不重複的四元組。 注意: 答

原创 ZooKeeper面試題(2020最新版)

博客鏈接: https://blog.csdn.net/ThinkWon/article/details/104397719?utm_medium=distribute.pc_feed.none-task-blog-alirecmd-2&