![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 69
潇洒程序员
热爱编程,喜欢挑战,乐天派
展开
-
常用STL容器及算法举例
一 常用容器举例 1 vector: vector类似于动态数组,直接访问元素,从后面快速插入或者删除,示例代码如下:#include #include //包含vectorusing namespace std;//指定命名空间int main(){ cout<<"----------vector test-----------"<<endl; //定义原创 2012-04-06 16:55:26 · 5357 阅读 · 1 评论 -
字节对齐
在c++中字节对齐主要存在符合类型中:union,struct和class中先介绍四个概念:1)数据类型自身的对齐值:基本数据类型的自身对齐值,等于sizeof(基本数据类型)。2)指定对齐值:#pragma pack (value)时的指定对齐值value。3)结构体或者类的自身对齐值:其成员中自身对齐值最大的那个值。4)数据成员、结构体和类的有效对齐值:自身对齐值和指定对齐原创 2012-08-21 13:07:53 · 4163 阅读 · 0 评论 -
3 种方法实现参数的"动态"变化
方法一: 比较常规的,利用template模板,在编译期替换参数 方法二: 利用指针,将函数的参数设置为 void* ,具体调用时,再做指针的强制类型转换比如 void fn(void* pVoid){ int i =*(int *)pVoid; //先把它转换为想要的类型,再取它的内容; .................................原创 2012-10-06 22:07:15 · 1498 阅读 · 0 评论 -
C++引用计数实现垃圾回收机制
原理:用一个数去统计指向堆中的无名对象指针的个数,由最后一个指针去释放其空间。为了保持同步,应该使这个数也只有一份。简单实现如下//SmartPtr.h#pragma once#include using namespace std;template class CSmartPtr{public: CSmartPtr():m_ptr(NULL),m_count(NULL)原创 2012-08-27 12:58:44 · 2730 阅读 · 0 评论 -
C++单元测试--驱动测试
先总结下为什么要进行单元测试:1 错误尽早发现,这是显而易见的。2 方便调试跟踪错误。如果项目出现问题,只需要拿单元测试来跑case,就可以方便的定位和发现问题。进行单元测试的原则:1 被测试的函数要功能单一2 测试要覆盖所有的条件分支,简单可归纳为:正常,极大,极小这三个方面。还有个,算是个人习惯吧,我喜欢 一个被测试类用一个测试类放在单独的cpp文件中原创 2014-04-13 20:11:59 · 1732 阅读 · 0 评论 -
C++单元测试--打桩测试
一 问题的产生 当构造测试用例的数据,是在函数内部被另一个外部函数所使用时,我们需要忽略外部函数所带来的影响。 需要进行“打桩”,举一个具体的例子 class DataGetter {public:...bool Run();...private:...Client* m_ptr_client;...};..........b原创 2014-06-06 20:47:05 · 16708 阅读 · 0 评论