原创 c++ 函數指針

在c++中,  函數指針雖然並不常用, 但還是非常有必要了解的 1.函數指針和其他指針一樣, 指向某種特定類型. 函數指針的類型由它的返回類型和形參類型共同決定, 與函數名無關, 例如: bool lengthCompare(const

原创 策略模式

概念 策略模式(strategy)定義了一系列的算法,並將每一個算法封裝起來,而且使它們還可以相互替換。策略模式讓算法的變化不會影響到使用算法的客戶。 適用場景 當存在以下情況時使用Strategy模式1. 許多相關的類僅僅是行爲有異時

原创 [轉]c++ 時間類型詳解 time_t

看到一篇好文章, 覺得作者已經寫得很詳細了, 轉載一下, 方便日後回顧 原文地址:http://blog.csdn.net/love_gaohz/article/details/6637625 Unix時間戳(Unix times

原创 結構體補齊與對齊

原文地址: 首先我們先看看下面的C語言的結構體: [cpp] view plaincopy typedef struct MemAlign   {       int a;       char b[3]; 

原创 constexpr與常量表達式,函數,字面值常量類

先來看看constexpr與常量表達式 常量表達式 1. 什麼是常量表達式 常量表達式是指值不會改變並且在編譯過程就能得到計算結果的表達式。 顯然,字面值屬於常量表達式, 用常量表達式初始化的const對象也是常量表達式。 co

原创 [c++ primer筆記]c++基礎

第1章 開始 (一) 大多數操作系統支持文件重定向, 這種機制允許我們將標準輸入和標準輸出與命名文件關聯起來:      $ addItems<infile >outfile      假定$是操作系統提示符, addItems 是我們的

原创 工廠模式

簡單工廠 簡單工廠一般是提供一個類, 專門封裝對象的創建的細節, 即提供一個接口, 根據不同輸入創建不同的對象, 這樣做的好處是, 用戶不必關心創建對象的細節, 從而針對接口編程, 而不是針對實現編程. 一個常見的技巧就是靜態工廠, 即提

原创 裝飾者模式

概念 裝飾者模式動態地將責任附加到對象上. 如要擴展功能, 裝飾者提供了比繼承更有彈性的替代方案. 裝飾者與和被裝飾者必須有相同的超類, 這是相當關鍵的地方, 在此模式中, 我們利用繼承達到"類型匹配", 而不是利用繼承來獲得"行爲"

原创 數據結構與算法分析之散列表

什麼是散列表 散列表又叫哈希表(hash table), 是一種通過鍵(key) 而直接進行訪問的數據結構.它不以關鍵字的比較爲基本操作,採用直接尋址技術 (通過key映射到內存地址上去的)。在理想情況下,無須任何比較就可以找到待查關鍵

原创 [c++ primer筆記][c++11] auto與decltype

文中內容收集整理自《C++ Primer 中文版 (第5版)》,版權歸原書所有 1.auto auto是c++11標準引入的類型說明符, 和原來那些只對應一種特定類型的說明符(如double)不同, auto讓編譯器通過初始值來推算變量

原创 條款1 視c++爲一個語言聯邦(如何理解c++)

如何理解c++? effective c++的第一條是這麼說的: 今天的c++已經是個多重泛型編程語言, 一個同時支持過程形式(procedural)、面向對象式(object-oriented)、函數形式(functional)、泛型形

原创 QLineEdit屏蔽中文輸入法

在項目中遇到一個QLineEdit作爲密碼輸入框, 此時需要屏蔽中文輸入法, 注意它與不能輸入中文是不等價的, 不能輸入中文可以用正則表達式Validator解決 試了下面幾種方法: 1. HIMC _IMC; HWND hWnd

原创 linux常用命令整理彙總(持續更新中)

進程信息 pstack pidof ps pmap ltrace perf proc文件系統 /proc/PID/stat 進程的狀態信息:進程狀態”RSDZTW” ctime utime 棧指針 PC指針 rss /proc/

原创 Qt實現圓角頂層窗口的坑

Qt實現一個頂層窗口的辦法有兩種: 1. 給窗體設置WA_TranslucentBackground屬性,然後進行重寫paintEvent繪製圓角矩形或使用qss。 2. 使用setMask函數 第一種方法如果重寫paintEvent繪

原创 用模式思考

文中內容收集整理自《Head First 設計模式 中文版 》,版權歸原書所有 設計模式的目的 管理軟件的複雜度和變化. 如何正確的使用模式 當你確信你的設計中有一個問題需要解決的時候,或者當你確信未來的需求可能會改變時,都可以採用模式.