STL中的函数对象是什么,可以举个例子吗?
2个回答
2015-12-25 · 知道合伙人教育行家
sunzhenwei114
知道合伙人教育行家
向TA提问 私信TA
知道合伙人教育行家
采纳数:776
获赞数:6174
毕业于阜新矿业学院基础部数学师范专业,擅长初高中数学教学,熟练操作excel,信息技术与数学整合是特长。
向TA提问 私信TA
关注
展开全部
函数对象就是重载了函数调用操作符的类的对象。
因为这个对象重载了函数调用操作符,所以你可以像调用函数一样使用这个对象。
如下例:
#include <iostream>
using namespace std;
class A
{
public:
int operator() ()
{
cout << "函数对象" << endl;
return 0;
}
};
void main()
{
A a;
a();
}
STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用额外安装什么。
STL被内建在编译系统之内。版本很多,常见的有HP STL、PJ STL、 SGI STL等。
在C++标准中,STL被组织为下面的17个头文件:<algorithm>、<deque>、<functional>、<iterator>、<array>、<vector>、<list>、<forward_list>、<map>、<unordered_map>、<memory>、<numeric>、<queue>、<set>、<unordered_set>、<stack>和<utility>。
因为这个对象重载了函数调用操作符,所以你可以像调用函数一样使用这个对象。
如下例:
#include <iostream>
using namespace std;
class A
{
public:
int operator() ()
{
cout << "函数对象" << endl;
return 0;
}
};
void main()
{
A a;
a();
}
STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用额外安装什么。
STL被内建在编译系统之内。版本很多,常见的有HP STL、PJ STL、 SGI STL等。
在C++标准中,STL被组织为下面的17个头文件:<algorithm>、<deque>、<functional>、<iterator>、<array>、<vector>、<list>、<forward_list>、<map>、<unordered_map>、<memory>、<numeric>、<queue>、<set>、<unordered_set>、<stack>和<utility>。
展开全部
函数对象说白了就是重载了函数调用操作符的类的对象。
因为这个对象重载了函数调用操作符,所以你可以像调用函数一样使用这个对象。
下面是我写的,通过测试
#include <iostream>
using namespace std;
class A
{
public:
int operator() ()
{
cout << "函数对象" << endl;
return 0;
}
};
void main()
{
A a;
a();
}
因为这个对象重载了函数调用操作符,所以你可以像调用函数一样使用这个对象。
下面是我写的,通过测试
#include <iostream>
using namespace std;
class A
{
public:
int operator() ()
{
cout << "函数对象" << endl;
return 0;
}
};
void main()
{
A a;
a();
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询