原创 深度探索c++對象模型(三)

1. 驗證vptr指針位置 環境:vs2019 結果 2. 通過對象的vptr指針來手動調用虛函數

原创 深度探索c++對象模型(二)

成員初始化列表 何時必須使用 成員是個引用 成員是const類型 繼承的基類有一個有參的構造函數 有類類型的成員變量,並且該類的構造函數帶有參數 注意: 若該類的構造函數帶有參數並且參數帶有默認值,可以不用參數列表

原创 深度探索c++對象模型(一)

vs調試技巧: F5調試 F9加斷點 shift+F9 :查看變量內存地址 1. 對象 1.1 sizeof(空類)== 1 1.2 類的成員函數不佔用 類對象 的內存空間 1.3 靜態成員變量屬於類,不佔用 類對象

原创 線程同步技術——條件變量

條件變量 一些注意點 pthread_cond_wait函數 虛假喚醒 若條件變量條件產生只發生一次,確保在調用pthread_cond_signal或pthread_cond_broadcast函數之前,首先有線程調用pthr

原创 LeetCode典型題——字符串

1.常用方法 to_string() atoi s.substr( size_type pos = 0, size_type count = npos ) 2. 題目 class Solution { public:

原创 LeetCode典型題——遞歸與回溯

遞歸和回溯 {查找全部解。。。} class Solution { public: vector<string> letterCombinations(string digits) { ve

原创 LeetCode典型題——二分查找

目錄1. 思想2. 模板3. 題目 1. 思想 尋找一個標準,可以使原始數據具有兩段性 2. 模板 情況一: 按照某種性質將數據分爲兩類,target在後半部分 若此時mid > target,則R = mid;否則

原创 劍指offer(五)

文章目錄41. 和爲S的兩個數字42. 左旋轉字符串43. 翻轉單詞順序列44. 撲克牌順子45. 圓圈中最後剩下的數46. 求1+2+3+…+n47. 不用加減乘除做加法48. 把字符串轉換成整數49. 數組中重複的數字50.

原创 劍指offer(四)

文章目錄31.整數中1出現的次數32.把數組排成最小的數33. 醜數34. 第一個只出現一次的字符位置35. 兩個鏈表的第一個公共結點36. 數字在排序數組中出現的次數37. 二叉樹的深度38. 平衡二叉樹39. 數組中只出現一次

原创 劍指offer(三)

文章目錄21. 棧的壓入、彈出序列22. 從上往下打印二叉樹23. 二叉搜索樹的後序遍歷序列24.二叉樹中和爲某一值的路徑25. 複雜鏈表的複製26. 二叉搜索樹與雙向鏈表27. 字符串的排列28. 數組中出現次數超過一半的數字2

原创 STL——容器

文章目錄1. list2. vector3. deque3.1 push_back3.2 push_front3.3 重新配置map4. queue、stack5.set、map 1. list 數據結構 插入前的所有迭

原创 LeetCode典型題——動態規劃

343 class Solution { private: vector<int> memo; int breakInteger(int n){ if(n == 1)

原创 進階算法04

無後效性問題: 不管通過什麼方式到達某個狀態,其返回值都一樣。 1. 換錢的方法數 暴力遞歸 以arr = [5, 10, 25, 1],aim = 15爲例: 節點中的內容表示: 從下標爲[i~j]的數組中取任

原创 劍指offer(二)

文章目錄11.二進制中1的個數12.數值的整數次方13.調整數組順序使奇數位於偶數前面14.鏈表中倒數第k個結點15.反轉鏈表16.合併兩個排序的鏈表17.樹的子結構18.二叉樹的鏡像19. 順時針打印矩陣20. 包含min函數

原创 UML

文章目錄1.用例圖泛化關係包含關係擴展關係2. 類圖泛化關係實現關係依賴關係關聯關係 1.用例圖 泛化關係 子用例指向父用例 包含關係 擴展關係 偶爾會執行另外一個功能 2. 類圖 +表示公有 -表示私有 #表示