原创 【理論實踐】實例體會一下using聲明會屏蔽外層作用域的同名實體

理論鋪墊: using 聲明:明確指定使用哪個作用域下的實體,比如:   using std::vector。一次只能引用一個命名空間的一個成員。 using 指示:明確指定引用哪個命名空間,比如:using namespace std。

原创 【讀書精華分享】《分佈式實時處理系統 原理、架構與實現》盧譽聲著/2016年

【分享說明】: 我會花很多時間或淺或深的研讀一本書,然後總結一些提煉出來的精華,用簡短的語言,讓其他人能夠用很少的時間大致知道這本書能帶給自己的價值,如果適用自己,鼓勵買一本正本實體書細讀和收藏。 通篇會以原文目錄爲結構,給出提煉內

原创 使用智能指針shared_ptr注意事項

發現一個總結的非常不錯的文章,轉一下。先補一條自己的補充: 一、子類轉父類問題 前提是基於錯誤的正常,父類未寫virtual析構,子類有虛函數。手動管理時類型明確遮掩了問題,智能指針管理時,是根據傳入類型來管理,如果先行轉換爲了父類,暴露

原创 std::async替代std::thread

std::thread提供了比較簡潔的線程操作,如果我們需要獲得線程內的結果時,比較麻煩,需要先外部定義一個變量,然後內部賦值,外部join。 這個過程代碼大致如下: void f1() { char rst[32]="\

原创 【標準答案】sort命令多列排序/複合條件的方法

這只是一個小問題,但是假攻略太多了,所有發出真正的答案。 數據如下: ba 11 a ab 1 b aa 1 c ba 3 d 要求:先按第一列排序,如果重複,再按第2列以數字方式排序 先看一下非常容易百度出來的錯誤答案: 百度搜索"s

原创 【理論實踐】c++11雜七雜八技術點

一、thread.joinable(),用於判斷線程是否在運行,可結束狀態。一般用於上一個線程的回收。     文檔:http://www.cplusplus.com/reference/thread/thread/joinable/  

原创 【理論實踐】new的三種用法:plain new,nothrow new和placement new

一、plain new就是最普通的new的,動態創建一個對象或數組,基本用法如下: class A { int m_v; public: A() {} A(int v) : m_v(v)

原创 【C++11】thread_local/TLS/線程本地存儲

c++11關鍵字,簡單理解就是thread_local int a,不同的線程讀到不的a是不同的存儲空間,避免了全局變量衝突,時間關係,簡單貼一下別人的總結 http://blog.csdn.net/u013390476/article/

原创 【經驗分享】3個C++實用技巧

一、柔性數組(長度是0的數組) 技巧:定義在結構體最後面,佔位,用於訪問轉換之後對應位置的數據,通用用於流式數據結構化過程。例如:消息結構是16位長度,後跟數據,但數據是不定長的,代碼如下: typedef struct {

原创 【理論實踐】快速認識allocator,並不神奇但嚇退一片的內存管理機制:內存分配和對象構造分離

從面試來看,很少人掌握allocator,似乎是很難的東西,但其實不是,我個人總結原因以下幾點:        1、如果不是運行環境特殊,沒有個性化實現的必要,默認即可,所以根本沒有給別人實踐的機會。        2、標準接口定義偏多,