![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++&STL
abortexit
这个作者很懒,什么都没留下…
展开
-
SGI 中string使用返回值为iterator形式函数的注意点
SGI 中string使用返回值为iterator形式函数的注意点 在这里仅仅是针对SGI string使用的讨论,保证更高效的使用string,同时也说明一些这个库的作者深厚的功底和设计string的一些思想。下面从一个简单的例子开始。关于Insert的使用,#include using namespace std;int main(void){ strin原创 2007-06-21 21:22:00 · 816 阅读 · 0 评论 -
一个VIA的笔试题-考察函数调用和Call指令
一个C语言函数原型 void GetParameterFromStack(void* p1, void* p2, void* p3),在Intel 32位X86结构运行,运行环境为VS2005,当刚执行到该函数,尚未执行任何函数代码,此时ESP为 0x0012FD78,且有ESP前后的一段内存,如下 :0x0012FD28 cc cc cc cc e8 6c 3a 00 cc cc cc c原创 2009-06-19 10:51:00 · 533 阅读 · 0 评论 -
.C/C++语言中的调用约定【转载】
在C/C++语言中,假设我们有这样的一个函数:int function(int a,int b)。调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传原创 2009-06-19 09:51:00 · 633 阅读 · 1 评论 -
如何使用CPPUnit多次测试一个Case
如何使用CPPUnit多次测试一个CaseDecorator模式介绍CPPUnit通过Decorator实现了多次测试一个case。Decorator模式的主要意图是为一个对象已有的子类添加一些额外的职责。其中TestDecorator类在接口上表现为is-a的继承关系, TestDecorator类继承了Test类所具有的接口。但在实现上又表现为has-a 的组合关系, TestDe原创 2007-10-14 22:42:00 · 562 阅读 · 0 评论 -
CPPUnit1.12的总结-序
CppUnit 是个基于 LGPL 的开源项目,最初版本移植自 JUnit,是一个非常优秀的开源测试框架。CppUnit 和 JUnit 一样主要思想来源于极限编程(XProgramming)。主要功能就是对单元测试进行管理,并可进行自动化测试。首先要明确我们写测试代码的目的,就是验证代码的正确性或者调试 bug。这样写测试代码时就有了针对性,对那些容易出错的,易变的编写测试代码;而不用对每个原创 2007-10-14 22:40:00 · 600 阅读 · 0 评论 -
CPPUnit中ProtectorChain的使用
ProtectorChain的使用在CPPUnit还使用了模式chain of responsibility模式。这个模式的意图就是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。那么实现这种意图的关键就在于两点:第一,如何把这些对象连成一个链;第二,如何实现一个对象的处理。其中第一点CPPU原创 2007-10-25 21:26:00 · 378 阅读 · 0 评论 -
CPPUnit中TestSetUp的使用
TestSetUp的使用TestSetUp类也是Decorator模式的应用之一。对于TestSetUp的使用主要是指定一些启动代码和终结代码。在TestFixture中我们也看到有setup()和teardown()虚函数,他们的作用也是用于提供一些启动代码和终结代码。那么为什么又提供了TestSetUp?他的作用又是什么?在TestFixture中的setup()和teardown原创 2007-10-25 21:24:00 · 408 阅读 · 0 评论 -
CPPunit中TestPath的使用
TestPath的使用CPPUnit中TestPath类的目的是什么?如何使用?特别是你在看到Test类和TestPath类之间的耦和关系,你都会如此想。使用TestPath的目的简单的说是为了执行整体测试用例框架中的指定的部分测试用例。仍然使用CPPUnit1.12中的示例程序example中CppUnitTestMain项目,参见文件CppUnitTestMain.cpp,如下:原创 2007-10-25 21:23:00 · 494 阅读 · 0 评论 -
CPPUnit中Orthodox的使用
Orthodox的使用Orthodox类主要是为了测试了一个类中是否支持operator =,!=,==,!,constructor and copy constructor六个常见的操作。如果没有定义,那么在编译时候就会有问题,不能通过编译,原因是在orthodox.h的runTest函数中调用了上述六种操作。这一点特别适合STL的开发,STL的开发标准是必须定义一些缺省的操作运算,而且原创 2007-10-25 21:27:00 · 323 阅读 · 0 评论 -
SGI STL中string的源码解读(4)
10. reserve和resize函数reserve函数:reserve(size_type __res){if (__res != this->capacity() || _M_rep()->_M_is_shared()){if (__res > this->max_size())__throw_length_error(__N("basic_s原创 2007-06-04 22:18:00 · 1636 阅读 · 0 评论 -
SGI STL中string的源码解读(2)
5. Basic_string的构造函数和析构函数在看Basic_string构造函数之前先看一下string中对应的成员变量。在basic_string中定义了一个辅助的存储结构Alloc_hider(继承于Allocator),该结构仅仅简单的封装了真实的数据即char* mPointer;在basic_string中直接用Alloc_hider定义一个数据成员mDataPlus(即对应c原创 2007-06-04 21:56:00 · 2411 阅读 · 0 评论 -
SGI STL中string的源码解读(1)
STL中string的源码解读 Ryan pengcutezero@163.comSunday, June 03, 2007 这是个人最近比较闲暇之余,对SGI STL中string分析,如果有任何理解错误,请和我联系,谢谢! 为什么要分析string呢?我们知道大多数的编译器实现的string都各不相同(即便是同一个编译厂商在不同的版本string的实现也不一样,原创 2007-06-04 21:54:00 · 4196 阅读 · 1 评论 -
【翻译】Gotw#78 操作符,到处可见的操作符 难度系数4/10
Gotw#78 操作符,到处可见的操作符 难度系数4/10你会把多少个连续的操作符放在一起?什么时候你会这样做?本期的问题取自一些C++产品中的代码片断。问题1. C++程序的一条语句中,最多支持多少个连续的字符’+’?2. 类似的,对下面的字符,一条语句中最多支持的个数分别是多少?a) &b) |c) 注:这里的翻译 2007-05-04 22:26:00 · 649 阅读 · 0 评论 -
Const的思考
Const的思考作者:wildwolf113出处:http://www.openitpower.com/wenzhang/115/12008_1.html 1、什么是const?常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const?const 推出的初始目的,正是为了取代预编译指转载 2007-04-24 20:30:00 · 594 阅读 · 0 评论 -
学习《深入理解C++对象模型》小结
Chapter 2 构造函数语义学习小结1、 C++编译器何时会为C++中的类生成缺省的构造函数(Default constructor)?如果程序员没有定义构造函数,编译器会在下面四种情况为类生成缺省的构造函数:« 类中聚合的元素有构造函数(可以是程序员自定义的或者编译器生成的);« 类的基类有构造函数(可以是程序员自定义的或者编译器生成的);«原创 2007-04-24 20:09:00 · 1496 阅读 · 0 评论 -
C++中Effective系列和Exceptional系列书籍小结
C++中Effective系列和Exceptional系列书籍小结 C++的Effective系列主要有《Effective C++》,《More Effective C++》,《Effective STL》这三本书的作者是Scott Meyer。这三本书不仅仅告诉你如何写好代码,而且告诉你为什么。,他们是Scott Meyer的经验总结。C++中Exceptional系列主要有《Ex原创 2007-06-24 21:51:00 · 824 阅读 · 0 评论 -
从一个C++笔试题看浮点数的表示
网上流行的一份C++笔试题目中有这样一个题目(最初出处未知,从google或者baidu可搜索到多出来源)10. 以下两条输出语句分别输出什么?[C++难]float a = 1.0f;cout cout cout 输出什么?float b = 0.0f;cout cout cout 输出什么?这个题目涉及float在计算机中的存储问题, IEEE 754的标准就是描述的这个问题。如果这个原创 2009-06-22 11:06:00 · 1959 阅读 · 0 评论