摘要: 1:句柄在Windows编程中是一个很重要的概念,在许多地方都扮演着重要的角色。在Windows环境中,句柄是用来标识项目的,这些项目包括: (1)模块(module) (2)任务(task) (3)实例(instance) (4)文件(file) (5)内存块(block of memory) ( 阅读全文
posted @ 2017-10-09 21:37 一串字符串 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 1:指针对应着一个数据在内存中的地址,得到了指针就可以自由地修改该数据。Windows并不希望一般程序修改其内部数据结构,因为这样太不安全。所以Windows给每个使用GlobalAlloc等函数声明的内存区域指定一个句柄,句柄是一种指向指针的指针。 句柄和指针都是地址,不同之处在于: (1)句柄所 阅读全文
posted @ 2017-10-09 20:52 一串字符串 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 1:二者的区别如下: (1)内联函数在编译时展开,宏在预编译时展开。 (2)在编译的时候,内联函数可以直接被镶嵌到目标代码中,而宏只是一个简单的文本替换。 (3)内联函数可以完成诸如类型检测、语句是否正确等编译功能,宏就不具有这样的功能。 (4)宏不是函数,inline函数是函数。 (5)宏在定义时 阅读全文
posted @ 2017-10-09 20:35 一串字符串 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 1:内联是以代码膨胀(复制)为代价的,仅仅省去了函数调用的开销,从而提高函数的执行效率。如果执行函数体内代码的时间相比于函数调用的开销较大,那么效率的收获会很小。另一方面,每一处内联函数的调用都要复制代码,将使程序的总代码量增大,消耗更多的内存空间。以下情况不宜使用内联: (1)如果函数体内的代码比 阅读全文
posted @ 2017-10-09 10:48 一串字符串 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 1:首先使用inline函数可以完全取代表达式形式的宏定义。 内联函数在C++类中的应用最广的应该是用来定义存取函数。我们定义的类中一般会把数据成员定义成私有的或者保护的,这样,外界就不能直接读写我们类成员的数据了。对于私有或者保护成员的读写就必须使用成员接口函数来进行。如果我们把这些读写成员函数定 阅读全文
posted @ 2017-10-09 10:10 一串字符串 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1:有如下几种原因: (1)inline定义的类的内联函数,函数的代码被放在符号表中,在使用时直接进行替换(像宏一样展开),没有了调用的开销,效率也很高。 (2)类的内联函数也是一个真正的函数。编译器在调用一个内联函数时,首先会检查它的参数的类型,保证调用正确;然后进行一系列的相关检查,就像对待任何 阅读全文
posted @ 2017-10-09 09:51 一串字符串 阅读(148) 评论(0) 推荐(0) 编辑