原文: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