原创 [C++] - C++11 多線程 - Condition Variable

整理轉自:https://github.com/forhappy/Cplusplus-Concurrency-In-Practice/tree/master/zh/chapter5-Condition-Variable Table of

原创 [C++] - C++11 多線程 - Mutex

整理轉自:https://github.com/forhappy/Cplusplus-Concurrency-In-Practice/tree/master/zh/chapter4-Mutex Table of Contents 0.簡述

原创 [C++] - 純虛函數 & 抽象基類 & 接口類

翻譯自:https://www.learncpp.com/cpp-tutorial/126-pure-virtual-functions-abstract-base-classes-and-interface-classes/   1.純

原创 [C++] - C++11 多線程 - Thread

轉載整理自:https://github.com/forhappy/Cplusplus-Concurrency-In-Practice/tree/master/zh/chapter3-Thread   1.與 C++11 多線程相關的頭文

原创 [讀書筆記] -《C++ API設計》第6章 C++用法

1、使用命名空間特性會產生冗長的符號名,尤其是那些包含在幾層嵌套命名空間中的符號。好在C++提供了使用using關鍵字,是的命名空間裏的符號更加容易使用: using namespace std; string str("Look, n

原创 UML類圖幾種關係的總結

在UML類圖中,常見的有以下幾種關係: 泛化(Generalization),  實現(Realization), 關聯(Association), 聚合(Aggregation), 組合(Composition), 依賴(Depende

原创 [讀書筆記] -《C++ API設計》第7章 性能

1、前置聲明 頭文件A包含另一個頭文件B,是爲了引入在頭文件A中使用到的類、函數、結構體、枚舉或其他實體的聲明。在面向對象程序中,最常見的情況是頭文件A想要引入頭文件B中一個或多個類的聲明。不過,很多情況下頭文件A實際上不必包含頭文件B,

原创 [設計模式] - Proxy代理模式

一、定義 代理設計模式爲另一個類提供了一對一的轉發接口:調用代理類的FunctionA()將導致調用原始類中的FunctionA()。也就是說,代理類和原始類有相同的接口。 二、結構 接口 + 真實實現類 + 代理類 三、Proxy模式

原创 [C++] - private static成員函數

我們知道static成員函數不需要類創建具體的實例就可以調用,它有點類似於namespace將類和方法聯繫在一起。那麼什麼情況下會考慮將一個private的成員函數設置成static呢? 主要考慮兩點: 1.這個方法只能被這個類使用; 2

原创 [設計模式] - 觀察者模式

ObserverPattern.h: #ifndef OBSERVER_PATTERN_H #define OBSERVER_PATTERN_H #include <list> class IObserver { public: v

原创 [設計模式] - Singleton單例模式(待整理)

一、介紹 單例模式是保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 在下面的情況下可以使用Singleton模式: 1.當類只能有一個實例而且客戶可以從一個衆所周知的訪問點訪問它時; 2.當這個唯一實例應該是通過子類化可擴展的,並

原创 [計算機系統] - 鏈接

鏈接是將代碼和數據片段收集並組合成爲一個單一文件的過程,這個文件可被加載到內存並執行。鏈接可以執行於編譯時(compile time),也就是在源代碼被翻譯成機器代碼時;也可以執行於加載時(load time),也就是在程序被加載器(lo

原创 [C++] - 模板

We use templates when we need functions/classes that apply the same algorithm to a several types. So we can use the sam

原创 [C++] - Returning by const value

A similar truth holds for the return value. If you say that a function’s return value is const: const int g(); you are

原创 DNS基礎介紹

在互聯網時代中,如果要問哪個應用層協議最重要的話,我想答案無疑是DNS.雖然我們每天都享受着DNS服務帶來的便利, 卻對它往往知之甚少.因此本文就來介紹一下DNS協議的工作流程,真正認識一下這個支撐着龐大互聯網絡的基礎服務. 前言 DNS