原创 設計模式 之 單例模式 (C++ 懶漢經典實現 & DCL實現 & 餓漢經典實現)

顧名思義: 單例模式,指的是僅有一個(類)實例。 即: 在應用程序的整個生命週期中,任何時刻,某個類(單例類)僅存在唯一一個實例。 同時僅提供一個全局訪問點。 單例的實現一般要求滿足: (1) 類構造函數私有 (2) 提供一個全局訪問點

原创 設計模式之 簡單工廠模式(C++實現)

這篇文章主要介紹 簡單工廠模式 。 下面是關於汽車廠生產汽車的一個典型案例。 代碼如下: #include <iostream> #include <string> #include <assert.h> using namespa

原创 騰訊2016春招模擬筆試題 —— 編程題(3道)

寫在前面的話~       春招 + 模擬筆試  【C++研發】       模擬筆試時間是    2016-03-25   21:30 ~ 22:30          試題主要包括兩部分:不定項選擇 + 編程  分別計時 時間都是30

原创 編程之美 2.19 區間重合判斷

題目大意: 給定源區間[x, y] (x≤y) 和 n個無序的目標區間[xi, yi](1 ≤ i ≤ n)。 判斷源區間是否在目標區間內。 分析: 書中介紹了兩種解法。 第一種:將目標區間投影到源區間,看最終未被覆蓋的區間是否變爲{

原创 設計模式之 抽象工廠模式的擴展(C++實現)

上一篇主要介紹了抽象工廠模式。 考慮下面一種應用場景:我們需要增加一個產品族,如何實現。 當然可以考慮修改抽象工廠 增加相應的方法。 但這違反了面向對象編程的原則——開放閉合原則。 因此我們需要儘量去擴展 而不是修改。【對擴展開發

原创 C++ 中Traits技術 (4) —— 類型推導

繼續理解traits技術。 當我們處理原生指針時,會遇到需要知道其所指對象類型這樣的問題。如何實現呢? template <class T> void testTypeForward(T t) { // write code her

原创 C/C++ 中調用matlab 的兩種方式

matlab中在數值計算方面有很大優勢,如:矩陣計算 求解方程等。 在C/C++開發中,我們實現相同的功能往往很複雜,我們可以在C/C++開發環境下調用matlab進行混合編程。 下面主要介紹環境配置相關的說明。 注: 我的本地測試環境

原创 Leetcode 343. Integer Break

原題鏈接: 343. Integer Break 343. Integer Break    My Submissions Question Editorial Solution Total Accepted: 642 T

原创 關於C++中 虛函數 多態 和 訪問限定符的思考

2016-04-12  1、C++中的靜態編譯和動態編譯分別基於什麼機制實現? 首先,靜態編譯和動態編譯都屬於C++中的多態,即“一種接口,多種實現”。 靜態編譯(/聯編) —— 也稱爲 靜態多態    如:函數的重載和運算符的重載 動態

原创 C++ 中Traits技術 (2) —— 與迭代器

接着瞭解C++中的Traits技術。 Traits技術可以獲取一個類型的相關信息。 比如針對一個泛型迭代器,類型參數T表示迭代器所指向的類型。 template < typename T> class CMyIterator { /

原创 Leetcode 92. Reverse Linked List II

92. Reverse Linked List II    My Submissions Question Editorial Solution Total Accepted: 69858 Total Submissio

原创 C++ 中Traits技術 (5) —— 關於STL中對迭代器封裝的類型介紹

上一篇講到traits的類型萃取,可將迭代器相關的類型獲取用於變量聲明和函數返回等操作。對於原生指針和const指針可以採用偏特化技術進行處理。 在STL中,對迭代器除了封裝類型信息以外,還有一些其他的信息,這篇文章介紹一下。 STL中

原创 設計模式之 原型(Prototype)模式(使用智能指針避免淺拷貝時內存泄露)

上一篇文章指出了原型模式中淺拷貝時出現的一些問題,如內存泄露等問題。 下面給出幾種可能的解決方案來避免內存泄露。 1. 我們讓工作簡歷類繼承克隆接口 實現深度拷貝。 但這時候會出現內存泄露的問題。(拷貝對象內的工作簡歷指針無法析構)

原创 C++ 命名空間 namespace 知多少

A. 命名空間是什麼      命名空間是一個作用域,爲了防止命名衝突。不同命名空間內可以有相同名字的成員。 在所有命名空間之外,有一個全局命名空間,以隱式方式聲明,這個命名空間並沒有名字。 B. 命名空間的定義      // 如果名

原创 百度電面一記

嗯 找實習 找工作 越來越提前了。 最近出差在南京 不在帝都。幾天內接連收到電話和麪試的通知。 阿里 網易 百度 ... 前天預約好的百度面試 今日下午三點 一個多小時。 記錄一下吧~ 1. 自我介紹 2. 項目的介紹 3. 大