原文:C++霧中風景番外篇2:Gtest 與 Gmock,聊聊C++的單元測試

正式工作之后,公司對於單元測試要求比較嚴格。 筆者之前比較懶,一般很少寫完整的單測 。作為一個合格的開發工程師,需要為所編寫代碼編寫適量的單元測試是十分必要的,在實際進行的開發工作之中,TDD Test drivern development 是一種經過實踐可行的開發方式。編寫單元測試可以幫助我們在開發階段就發現錯誤,並且保證新的修改沒有破壞已有的程序邏輯。 在 C 之中,常用的測試框架有 Gt ...

2018-11-01 14:01 1 700 推薦指數:

查看詳情

C++霧中風景番外篇3:GDB與Valgrind ,調試代碼內存的工具

C++的同學想必有太多和內存打交道的血淚經驗了,常常被 C++的內存問題攪的焦頭爛額。(寫 core 的經驗了)有很多同學一見到 core 就兩眼一抹黑,不知所措了。筆者 入"坑"C++之后,在調試 C++代碼的過程之中,學習了不少調試代碼內存的工具。希望借這個機會來介紹一下筆者常用 ...

Fri Nov 09 03:37:00 CST 2018 2 953
C++霧中風景2:struct還是class?

之前因為都在忙着畢業的開題答辯與投稿論文的事宜,一直沒有時間更新這個系列的文章。師弟看了上一篇霧中風景的文章,希望我繼續把這個系列的文章寫下去。坦白說,C++的特性很多,這也不是教學指南的文章,我會選取一些自己在學習C++過程之中值得探討的問題和大家聊一聊,來拋磚引玉。好的,今天先放點 ...

Sun Nov 12 12:09:00 CST 2017 0 1090
C++霧中風景10:聊聊左值,純右值與將亡值

C++11的版本在類型系統上下了很大的功夫,添加了諸如auto,decltype,move等新的關鍵詞來簡化代碼的編寫與降低閱讀代碼的難度。為了更好的理解這些新的語義,筆者確定通過幾篇文章來簡單窺探一下C++類型系統的冰山一角,如果加深了對C++類型系統的理解,想必大家也能夠更好的應用 ...

Fri Jul 20 03:07:00 CST 2018 1 1333
C++霧中風景15:聊聊讓人抓狂的Name Mangling

Name Mangling,直接翻譯過來為名字改寫 。它是深入理解 C++ 編譯鏈接模型的必由之路。 筆者近期進行數據庫開發工作時,涉及到MySQL客戶端的編譯鏈接的問題,通過重新厘清了之前理解一知半解的Name Manging,解決了讓人抓狂的編譯鏈接問題。 接下來,和大家聊聊C++ ...

Mon Sep 28 02:31:00 CST 2020 2 492
C++霧中風景14:CRTP, 模板的黑魔法

CRTP,奇特的遞歸模板模式 (Curiously Recurring Template Pattern) 是 C++ 的一種看起來很怪異的模板編程技巧。 它通過繼承和模板的聯合應用,實現了一種"看似"繼承自己的語法。這種編程的技法,無論是在STL還是Boost之中都被大量使用。像它的名字 ...

Fri Jul 10 20:35:00 CST 2020 0 535
C++霧中風景12:聊聊C++中的Mutex,以及拯救生產力的Boost

筆者近期在工作之中編程實現一個Cache結構的封裝,需要使用到C++之中的互斥量Mutex,於是花了一些時間進行了調研。(結果對C++標准庫很是絕望....)最終還是通過利用了Boost庫的shared_mutex解決了問題。借這個機會來聊聊C++之中的多線程編程的一些“坑 ...

Sun Oct 07 00:54:00 CST 2018 0 1697
Google C++ 單元測試 GTest

from : http://www.cnblogs.com/jycboy/p/6057677.html 一、設置一個新的測試項目 在用google test寫測試項目之前,需要先編譯gtest到library庫並將測試與其鏈接。我們為一些流行的構建系統提供了構建文件: msvc ...

Thu May 03 01:46:00 CST 2018 0 3054
C++霧中風景9:emplace_back與可變長模板

C++11的版本在vector容器添加了emplace_back方法,相對於原先的push_back方法能夠在一定程度上提升vector容器的表現性能。所以我們從STL源碼角度來切入,看看這兩種方法有什么樣的區別,新引進的方法又有什么可學習參考之處。 1.emplace_back的用法 ...

Tue May 22 03:49:00 CST 2018 0 1389
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM