原创 1024節日快樂

嘿嘿😁 希望大家遠離 Code once,Debug everywhere~

原创 成員的初始化 表格

初始化方式 類內(聲明) 類外(實現文件) 構造函數中 構造函數的初始化列表類型 非靜態非常量數據成員 N N Y Y 非靜態常量數據成員 N N N Y(must) 靜態非常量數據成員 N Y(must)

原创 宏 實現 sizeof

sizeof操作符其實就是判斷元素的字節數,那麼很容易聯想到指針的偏移量,所以嘗試使用下面這種方式實現: #define my_sizeof(x) ((&x + 1) - &x) 但問題是,無論如何輸出都是1,爲什麼呢?因爲指針

原创 C++ 之 棧和隊列(容器適配器)

棧和隊列特性棧(stack)隊列(queue)優先級隊列(priority_queue)使用容器適配器爲什麼將`stack`、`queue`、`priority_queue`稱作爲容器適配器?爲什麼選擇`deque`作爲`stac

原创 【從零學C++11(下)】lambda表達式、線程庫、原子操作庫等新特性

C++1110. lambda表達式【★】語法捕獲列表函數對象與lambda表達式對比11. 線程庫【★】線程的啓動線程的結束原子性操作庫(atomic) 10. lambda表達式【★】 例如在C++98中,如果想要對一個

原创 [C++] 使用 deque 模擬實現棧(stack)

template<class T, class Container = deque<T>> class Stack{ public: void Push(const T& x){ _con.push_back(x); }

原创 C++實現一個 Date (日期)類

DateDate.hDate.cpp Date.h #pragma once #include <iostream> #include <assert.h> using std::cout; using std::endl;

原创 [C++] 24979 -- 最近公共祖先

目錄例題描述解題思路代碼實現 例題描述 有一棵無窮大的滿二叉樹,其結點按根結點一層一層地從左往右依次編號,根結點編號爲1。現在有兩個結點a,b。 請設計一個算法,求出a和b點的最近公共祖先的編號。 給定兩個int a,b。爲給定

原创 [C++] 使用 deque 模擬實現隊列(queue)

template<class T, class Container = deque<T>> class Queue{ public: void Push(const T& x){ _con.push_back(x); }

原创 [C++] 36910 -- 求最大bit數

目錄例題描述解題思路代碼實現 例題描述 功能: 求一個byte數字對應的二進制數字中1的最大連續數,例如3的二進制爲00000011,最大連續2個1 輸入: 一個byte型的數字 輸出: 無 返回: 對應的二進制數字

原创 [C++] 36884 -- 查找組成一個偶數最接近的兩個素數

目錄例題描述解題思路代碼實現 例題描述 任意一個偶數(大於2)都可以由2個素數組成,組成偶數的2個素數有很多種情況,本題目要求輸出組成指定偶數的兩個素數差值最小的素數對。 示例1: 輸入 20 輸出 7 13 解題思路 本

原创 十種常見的設計模式

原文鏈接:https://www.cnblogs.com/yueguanguanyun/p/9584501.html 設計模式單例模式策略模式代理模式觀察者模式裝飾模式適配器模式命令模式

原创 C++之多態

多態引入構成條件虛函數虛函數的重寫(覆蓋)虛函數重寫特例1. 協變2. 析構函數的重寫C++11:override 和 final 關鍵字finaloverride重載、重寫、重定義抽象類多態底層原理剖析虛函數表代碼演示動態綁定與

原创 C++之 內存管理

內存管理用戶地址空間內存管理方式new/deletenew和delete操作自定義類型operator new與operator delete函數operator newoperator deletenew和delete的實現原理

原创 C++之 模板(上)泛型編程、函數模板、類模板

模板泛型編程模板函數模板實例化隱式實例化顯式實例化匹配原則類模板實例化 我們之前講解過函數重載,對於函數名相同,參數不同的函數都得實現一個相應的重載函數,這樣就十分的麻煩~ 有沒有一份代碼可以在多種情況下達到複用的物什?有的!這