- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 函数对象 谓词函数 函数适配器
函数对象:函数对象就是重载类中了operator()运算符的类类型对象,当使用该类实例调用operator函数时如同调用普通函数一样。从概念上来说,函数对象是用作函数的对象,但从实现来说,函数对象是实现了()函数的对象。虽然函数和函数指针也是函数对象,但只有实现了operator()函数的类对象才能保存类成员状态。函数对象的优势有以下几个:1)函数对象可以有自己的状态。当在类中定义状态变量
2016-10-26 19:56:55 562
原创 static_cast vs dynamic_cast
static_cast vs dynamic_caststatic_cast的原型为:static_cast expression说明:该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。在c++primer中曾经提到过对于任何可以由隐式转换进行的操作都可以有static_cast来完成。这句话说出了static_cast的其中一种用法。即用于在
2016-10-09 15:57:38 750
原创 More Effect C++--placement delete
placement delete只有在伴随着“placement new调用而触发的构造函数”出现故障时才会被调用。当placement new调用发生故障时,编译器会在系统中国调用与placement new参数个数与参数类型一致的placement delete去恢复内存区避免内存泄漏。当使用placement new operator构建类对象时,对相应的指针实行delete ope
2016-10-04 21:33:24 521
原创 more effect c++---placement new
placement new是operator new的另外一种形式。对于一个已经存在的对象调用constructor是没有意义的,因为我们知道constructor是用来初始化对象的,而对象只能被初始化一次。但是有时候你是需要在原始分配的内存上构建某个对象,这时候你就可以通过placement new来完成。class Foo{ char cc; float f;
2016-10-04 17:49:58 546
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人