我所不熟悉的C++知识

原创 2006年06月06日 12:41:00

1 Functor
函数对象, 其实就是一个重载了operator()的类。其使用方式与函数相似。
使用functor有两个优点:
1) Functor相比Function来说,可以传递更多的信息:因为Functor是以类的方式存在的,它可以包含任意多的信息。除了传入参数以外,你还可以在类内预设一些其它的信息。
2) 在作为参数传递时,Functor的效率往往比Function要高。这是因为,在把Functor作为参数传递时,你实际上传递的是Functor对象,在整个编译过程中,编译器始终知道它所在处理的Functor对象是哪个Functor类的,也就是说,它可以做编译时的优化。而对于Function来说,它往往以指针的方式传递,对于编译器来说,很难做(并不是不可能)编译时的优化。

//function
inline void increase_one_func(int& i)
{
 ++i;
}
//functor
class increase_one_functor
{
public:
 void operator()(int& i)
 {
  ++i;
 }
}increase_one_functor;

int iCount = 1;
increase_one_functor(iCount);   //iCount = 2;
increase_one_func(iCount); //iCount = 3;

 

自己不熟悉的c++知识点

1.模板 template void function(type a ) { } 2.三种传递类型 void function(int &a, int &b) { } void function2...

学习PHP中自己遇到的不熟悉的或掌握不够牢固的知识点(待续1)

欢迎各位IT人事加入群:206981178,共同学习 总结的不是很好,也许有很多简单的东西对于我来说都很不熟悉,请大家勿喷 1.php中的有关变量     变量名必须以字母或下划线 "_...

个人不熟悉的网络知识点集合

 交换机(英文:Switch,意为“开关”)是一种用于电信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、...

个人不熟悉的面试题目(c++,数据结构)

个人不熟悉的面试题目(c++,数据结构) 整理:

唉!不要乱用函数哦,特别是你不熟悉的!

不要乱用一些自己不知道的函数!!! 不然你会像我一样,死的很惨很惨!!!!就一点点问题!!你找一天都找不到!...

java复习记录自己不熟悉的地方

所有的包装类(Wrapper Class)都有共同的方法:)toString(),equals(),hasCode();parseType,typeValue. Collection 接口: 查询...
  • tuiyun
  • tuiyun
  • 2012年11月27日 12:57
  • 189

CSS3中不熟悉的属性1:box-pack和box-align

box-pack 定义和用法: box-pack 属性规定当框大于子元素的尺寸,在何处放置子元素。 该属性规定水平框中的水平位置,以及垂直框中的垂直位置。 语法: box-pack: star...

CSS3中不熟悉的属性3:will-change

will-change属性可以提前通知浏览器我们要对元素做什么动画,这样浏览器可以提前准备合适的优化设置。这样可以避免对页面响应速度有重要影响的昂贵成本。元素可以更快的被改变,渲染的也更快,这样页面可...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我所不熟悉的C++知识
举报原因:
原因补充:

(最多只允许输入30个字)