一、什么时候使用描述性编程在测试过程中,有些界面元素是动态出现或动态变化的,在录制的时候并没有添加到对象库中二、描述性编程的运行原理用描述性编程编写的测试脚本在运行时,QTP会使用测试脚本中给出的对象描述来查找对象,查找的位置不是对象库,而是与测试程序运行时QTP为其创建的临时对象版本进行匹配。三、...
分类:
其他好文 时间:
2014-10-30 16:47:48
阅读次数:
164
所谓临时对象,就是一种无名对象。它的出现如果不在程序员的预期之下(例如任何pass by value操作都会引发copy操作,于是形成一个临时对象),往往造成效率上的负担。但有时候刻意制造一些临时对象,却又是使程序干净清爽的技巧。刻意制造临时对象的方法是,在型别名称之后直接加一对小括号,并可指定初值...
分类:
其他好文 时间:
2014-10-29 21:28:50
阅读次数:
114
1、使用iterators:注意iterator是否失效2、编写一个不区分大小写的字符串类型,其他方面同string 方案:修改char_traits3、临时对象 使用const&而不是传值拷贝; 使用前++,避免后++操作; 时刻注意因为参数转换操作而产生的隐藏的临时对象。一个避免它的好...
分类:
编程语言 时间:
2014-10-24 16:00:48
阅读次数:
164
《More Effective C++》中讲到,在C++中真正的临时对象是看不见的,它们不出现在你的源代码中。建立一个没有命名的非堆(non-heap)对象会产生临时对象,这种未命名的对象通常在两种条件下产生:为了使函数成功调用而进行隐式类型转换和函数返回对象时。1 size_t countCh.....
分类:
其他好文 时间:
2014-10-20 13:14:45
阅读次数:
263
c#里不支持动态对象, 无法像AS3一样定义一个动态的对象, 添加动态的属性。例如像AS3里 要传递一系列参数, 临时对象的话,通常会用var o:Object = {id:"1",name:"aaa"};在c#里,字典系统的构建之前已经试用了Dictionary来充当参数的临时载体, 但是看了it...
临时表空间概念 临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: CREATE INDEX、 ANALYZE、SELECT...
分类:
数据库 时间:
2014-10-05 13:15:28
阅读次数:
372
我们都知道,如果在一个函数调用另一个函数,假设是 main 函数调用 fun 函数,这个 fun 函数返回一个临时类类型变量,那么这个时候编译器就会在 main 函数申请一个空间并生成一个临时对象,通过拷贝构造函数将 fun 返回的临时变量的值拷贝到这个临时对象。我们看如下的代码:#include ...
分类:
其他好文 时间:
2014-09-25 01:13:18
阅读次数:
382
1、右值引用引入的背景临时对象的产生和拷贝所带来的效率折损,一直是C++所为人诟病的问题。但是C++标准允许编译器对于临时对象的产生具有完全的自由度,从而发展出了Copy Elision、RVO(包括NRVO)等编译器优化技术,它们可以防止某些情况下临时对象产生和拷贝。下面简单地介绍一下Copy E...
分类:
编程语言 时间:
2014-09-21 01:09:39
阅读次数:
405
为什么研究临时对象?
主要是为了提高程序的性能以及效率,因为临时对象的构造与析构对系统开销也是不小的,所以我们应该去了解它们,知道它们如何造成,从而尽可能去避免它们。临时对象是可以被编译器感知的。
下面的例子,可能有人认为"int temp"是"临时对象",但是其实不然,"int temp"仅仅是swap函数的局部变量。
#include
void swap( int &a,...
分类:
编程语言 时间:
2014-09-16 16:03:10
阅读次数:
217