
C++
ice2000feng
这个作者很懒,什么都没留下…
展开
-
代码覆盖率浅谈
<br />在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。于是乎,测试人员费尽心思设计案例覆盖代码。用代码覆盖率来衡量,有利也有有弊。本文我们就代码覆盖率展开讨论,也欢迎同学们踊跃评论。<br />首先,让我们先来了解一下所谓的“代码覆盖率”。我找来了所谓的定义:<br />代码覆盖率 = 代码的覆盖程度,一种度量方式。<br />上面简短精悍的文字非常准确的描述了代码覆盖率的含义。而代码覆盖程度的度量方式原创 2010-09-29 15:29:00 · 346 阅读 · 0 评论 -
静态数据成员和静态成员函数
对于非静态数据成员,每个类对象都有自己的拷贝而静态数据成员对每个类类型只有一个拷贝静态数据成员,只有一份由该类类型的所有对象共享访问。同全局对象相比使用静态数据成员有两个优势 1 静态数据成员没有进入程序的全局名字空间因此不存在与程序中其他全局名字冲突的可能性 2 可以实现信息隐藏静态成员可以是private 成员而全局对象不能静态成员函数:静态成员函数一般只能访问静态成员变量,如果要访问非静态成员变量的话,只能访问某一个对象的非静态成员变量和静态成员函数。可以传一个原创 2011-01-04 10:47:00 · 300 阅读 · 0 评论 -
C++ 关键字
1.volatile volatile 修饰符的主要目的是提示编译器 该对象的值可能在编译器未监测到的情况下被 改变 因此编译器不能武断地对引用这些对象的代码作优化处理。 将成员函数声明为volatile volatile限定修饰符在 3.13 节介绍 如果一个类对象的值可能被修改的方式是编译器无法控制或检测的。例如 如果它是表示 I/O端口的数据结构则把它声明为 volatile 与 const 类对象类似 对于一个 volatile类对象 只有 volatile 成员函数原创 2011-01-06 11:05:00 · 260 阅读 · 0 评论 -
const 成员函数
<br />一般来说,任何一个类如果期望被广泛使用,就应该把那些不修改类数据成员的成员函数声明为const 成员函数,但是,把一个成员函数声明为const 并不能阻止程序员可能做到的所有修改动作, 把一个成员函数声明为 const 可以保证这个成员函数不修改类的数据成员,但是 如果该类含有指针 那么在 const 成员函数中就能修改指针所指的对象 编译器不会 把这种修改检测为错误 这常常令 C++初学者吃惊 例如 <br /> <br />#include <cstring> <br />cl翻译 2011-01-06 11:08:00 · 293 阅读 · 0 评论 -
C/C++堆、栈及静态数据区详解
<br />五大内存分区<br />在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。<br />栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。<br />堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。<br />自由存储区,就是那些由mallo转载 2011-01-06 11:18:00 · 351 阅读 · 0 评论 -
成员初始化表
1.对于非类数据成员的初始化或赋值,除了两个例外,两者在结果和性能上都是等价的。两个例外是指任何类型的const和引用数据成员。const 和引用数据成员也必须是在成员初始化表中被初始化 否则 就会产生编译时刻错误。例如 下列构造函数的实现将导致编译 时刻错误:class ConstRef { public: ConstRef( int ii ); private: int i; const int ci; int &ri; }; ConstRef:: Con翻译 2011-01-10 17:43:00 · 485 阅读 · 0 评论 -
C++继承:公有,私有,保护
http://www.cnblogs.com/qlwy/archive/2011/08/25/2153584.html公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。1. 公有继承(public)公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的转载 2014-01-02 14:08:05 · 406 阅读 · 0 评论 -
C++调用顺序
1. 基类构造函数被调用的顺序以类派生表中声明的顺序为准.class A{public: A() { cout << "A::A() called" << endl; num = 10; } void showMsg() { cout << "A::showMsg() called" << endl;原创 2014-01-02 15:25:10 · 498 阅读 · 0 评论