原创 C++學習筆記——靜態成員變量和靜態函數

文章目錄一、靜態數據成員summary二、靜態成員函數 一、靜態數據成員 class Test{ private: //靜態數據成員 static int a; 靜態成員變量在類中只能聲明而不能定義賦值。 要對靜態數據成員定

原创 C++學習筆記 —— 內存模型(變量存儲位置)

文章目錄分層概述一、棧:二、堆:三、全局區(靜態區)四、常量存儲區舉例詳述 分層概述 一、棧: 通常是局部變量,函數參數等的存儲區。聲明爲static的局部變量除外 二、堆: 動態分配的內存。像new和malloc就在該區域上申請

原创 C++學習筆記 —— STL之二維數組

#include <iostream> #include <vector> #include <algorithm> using namespace std; // g++ -std=c++11 2Dvector.cc -o te

原创 C++學習筆記 —— STL之list(鏈表)

https://www.cnblogs.com/scandy-yuan/archive/2013/01/08/2851324.html 實際上,list容器就是一個雙向鏈表,可以高效地進行插入刪除元素。O(1)複雜度 鏈表list

原创 for循環執行順序詳解(避坑)

今天刷題碰到的一個坑,就是沒有注意到for循環的每次判斷條件導致的**,也就是for循環的第二句**,每次循環都會執行該判斷條件。 for循環的表達式一般如下: for(表達式1;表達式2;表達式3){ 表達式4; } 執行

原创 數據結構與算法 —— O(nlogn)排序算法(希爾和快排)(c++)

文章目錄希爾排序快速排序(分治+挖坑法)測試用例 希爾排序 https://blog.csdn.net/u012918361/article/details/68921601 希爾排序作爲第一批突破O(n^2)的算法之一,在數據中

原创 數據結構與算法 —— O(nˆ2)排序算法(冒泡,選擇,插入)(c++)

https://www.cnblogs.com/BobHuang/p/11263183.html https://www.jianshu.com/p/9e855ba2b079 // 1.bubble sort 冒泡 //穩定, O

原创 C++學習筆記 —— STL之鏈表、隊列、棧

文章目錄鏈表隊列和棧 鏈表 鏈表list插入和刪除永遠是常數時間,採取動態分配不會浪費資源, list是一個雙向循環鏈表 非連續空間 頭節點不保存數據 #include <iostream> #include <list> usi

原创 C++學習筆記 —— STL之set和map

文章目錄set 集合map 這裏把set和map放到一塊因爲兩者都是關聯性容器,也就是說他們的存儲順序與放入元素順序不同,他們會自動維護一個容器中元素的順序。而且他們的api有很多相似之處。 set 集合 https://blog

原创 C++學習筆記 —— STL之vector

文章目錄vector二維數組(二維vector)deque 雙端數組 參考文章 https://www.cnblogs.com/mr-wid/archive/2013/01/22/2871105.html vector c++ p

原创 C++學習筆記 —— 靜態和動態類型轉換

文章目錄靜態類型轉換(編譯時類型檢查)父類和子類之間轉換基本數據類型轉換動態類型轉換(動態類型檢查)動態類型轉換和靜態類型轉換的區別總結使用指導 靜態類型轉換(編譯時類型檢查) 關鍵字:static_cast 父類和子類之間轉換

原创 C++學習筆記 —— 泛型編程(模板)

文章目錄函數模版引出實現模版實現機制類模版的使用成員函數的創建時機類模版做函數參數子類繼承模版類類外實現成員函數類模版的分文件編寫 函數模版 引出 比如我們要用一個交換數據的函數: void swapFunc(int &a, in

原创 C++學習筆記 —— 回合制小遊戲案例

文章目錄英雄怪物武器武器父類小刀屠龍刀開始遊戲main函數編譯運行:運行結果總結說明添加倚天劍實現多態 下面用多態實現一個回合制小遊戲: 英雄 Hero.h #ifndef __HERO_H__ #define __HERO_H_

原创 C++學習筆記 —— 頭文件include問題和多文件編譯

文章目錄include頭文件放到.h文件還是.cc文件頭文件相互引用問題(引用其他類)多源文件編譯命令 今天主要敘述三個問題,是在做一個小遊戲程序遇到的。 include頭文件放到.h文件還是.cc文件 首先看這個問題,鏈接C++

原创 C++學習筆記 —— 多態

文章目錄什麼是多態多態的使用靜態連編動態連編多態的好處計算器例子純虛函數和抽象類虛析構和純虛析構向上轉型和向下轉型向下轉型向上轉型發生了多態 什麼是多態 父類引用或者指針指向子類對象。 編譯時多態(靜態連編):函數和運算符重載。編