摘要: 类的this指针有以下特点:  (1)this只能在成员函数中使用。  全局函数、静态函数都不能使用this。  实际上,成员函数默认第一个参数为T* const this。  如:[代码]其中,func的原型在编译器看来应该是:[代码](2)由此可见,this在成员函数的开始前构造,在成员的结束后清除。  这个生命周期同任何一个函数的参数是一样的,没有任何区别。  当调用一个类的成员函数时,编... 阅读全文
posted @ 2010-09-07 13:03 遗失记忆 阅读(2501) 评论(0) 推荐(0) 编辑
摘要: (1)非空区别。在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这样你可以赋空值给该变量。相反,如果变量肯定指向一个对象,例如你的设计不允许变量为空,这是你就可以把变量声明为引用。不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针要高。  (2)合法性... 阅读全文
posted @ 2010-09-06 17:18 遗失记忆 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 内联函数和普通函数相比可以加快程序运行的速度,因为不需要中断调用,在编译的时候内联函数可以直接呗镶嵌到目标代码中。  内联函数要做参数类型检查,这是内联函数跟宏相比的优势。  inline是指嵌入代码,就是在调用函数的地方不是跳转,而是把代码直接写到那里去。对于短小的代码来说,inline可以带来一定的效率提升,而且和C时代的宏函数相比,inline更安全可靠。可是这个是以增加空间消耗为代价的。至... 阅读全文
posted @ 2010-09-06 16:48 遗失记忆 阅读(1226) 评论(0) 推荐(0) 编辑
摘要: 1. sizeof操作符的结果类型是size_t,它在头文件中的typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。2. sizeof是算符,strlen是函数。3. sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以“\0”结尾的。sizeof还可以用函数做参数,比如:[代码]输出结果是sizeof(sh... 阅读全文
posted @ 2010-08-27 17:30 遗失记忆 阅读(414) 评论(0) 推荐(1) 编辑
摘要: 可以使用atexit()函数注册一个函数,代码如下:代码也可以使用_onexit()函数注册一个函数,代码如下:代码结果显示均为:[代码] 阅读全文
posted @ 2010-08-27 10:06 遗失记忆 阅读(325) 评论(0) 推荐(0) 编辑
摘要: C语言版:[代码]思考问题:1. main函数是否一定得有返回值?2. main函数是否可以有参数?3. 为什么是return 0?4. 为什么要引用stdio.h头文件? 自己是否可以写头文件?5. printf是否可以有多个参数?假如能,为什么能有多个? 是怎么实现的?我们可否自己写一个?6. printf是通过什么形式将"Hello World!"字符串传入的?7. #include <... 阅读全文
posted @ 2010-08-25 16:57 遗失记忆 阅读(233) 评论(0) 推荐(0) 编辑