Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用模板将类函数应用于对象的向量

使用模板将类函数应用于对象的向量
EN

Stack Overflow用户
提问于 2011-12-20 21:01:40
回答 2查看 73关注 0票数 0

假设我有不同对象的向量,假设D的类型是vector< Dog >R的类型是vector< Rock >。有没有可能使用模板,这样我就可以在向量上自动调用所有成员函数?也就是说,如果Dog有一个Bark()函数,我想让D.bark()让所有的狗都叫。

现在,很明显我可以用一个新函数和一个简单的循环手动编写这个行为,但是有没有一种简单的方法来模板化它?也就是说,这样R.smash()就可以打破所有的障碍,而我从来没有显式地编写过这个循环。我试着想象它的语法会是什么,这让我大吃一惊。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-20 21:08:13

代码语言:javascript
运行
AI代码解释
复制
std::for_each(dogs.begin(), dogs.end(), std::bind(&Dog::bark, _1));

在C++03中,您可以改用boost::bind。您可以尝试将其封装在一个单独的函数模板中,但我有一种感觉,它不会给您带来太多好处。在你需要这种行为的地方使用for_each已经足够清楚了。

票数 4
EN

Stack Overflow用户

发布于 2011-12-20 21:08:36

像这样的东西会起作用的:

代码语言:javascript
运行
AI代码解释
复制
std::for_each(dog_vec.begin(),dog_vec.end(),std::mem_fun_ref(&dog::bark));

我想有一种更简单的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8581932

复制
相关文章
机器学习系列19:将核函数应用于支持向量机
当我们在已知参数的情况下,如何用带有核函数的支持向量机(SVM)去训练假设函数呢?
SuperFeng
2019/09/26
7650
机器学习系列19:将核函数应用于支持向量机
【C++ 语言】面向对象 ( 模板编程 | 函数模板 | 类模板 )
4. 函数模板作用 : 避免反复定义重载函数 , 例如两个数字相加时 , 需要考虑 int 类型数字相加 , float 类型数字相加 等 , 这些函数的内部行为都是一致的 , 如果使用了模板函数 , 就可以只写一个模板方法即可 ;
韩曙亮
2023/03/27
1.6K0
向量1(类和对象)
n个有序数a1,a2,...,an组成的数组称为n维向量。 为n维向量定义CVector类,包含私有数据成员:
叶茂林
2023/07/30
1590
向量类模板的声明和实现---扩充版本
补充:删除[first,last)区间的数据,返回当前数据的位置的erase重载函数。
大忽悠爱学习
2021/11/15
5620
对象相加函数模板
时钟类CClock有时、分、秒;人民币类CRmb有元、角、分三个数据成员。试为这种类型的类对象定义一个两两相加的函数模板add,包括三个参数:2个对象和一个int表示进制。(要求不能用函数重载的方法)
叶茂林
2023/07/30
1470
C++ 类模板实例化对象,向函数传参的方式
C++类模板实例化对象,向函数传参的方式一共有3种: 指定传入的类型:直接显示对象的数据类型; #include<iostream> #include<string> using namespace std; template<class T1, class T2> class Demo{ public: T1 s_name; T2 i_age; Demo(T1 name, T2 age); void show(){ cout<<"Name: "<< s_n
耕耘实录
2022/05/09
1.1K0
C++函数模板与类模板
那么,如果你想交换两个其他类型的就需要写一个重载函数,这样是非常麻烦的。 这时C++就有了模板。
有礼貌的灰绅士
2023/03/28
8530
C++函数模板与类模板
函数模板之名为List的类模板—C++
/* 功能:编写一个名为List的类模板 作者:WindCoder 日期:2013-12-12 */ #include <iostream> using namespace std; template <class T> class List { public: List(); ~List(); bool Add(T a); void Clear(); void Display (); bool Del(int num); bool Addone(T a,int pos); bool Fin
WindCoder
2018/09/19
1.5K0
【C++初阶】函数模板与类模板
于是,大佬心里就在想,能不能像铸铁一样,刻出一个模子(模板),然后通过浇筑不同的材料(不同的类型),从而锻造成不同材料制成的宝刀(不同类型的目标代码)
MicroFrank
2023/01/16
7960
使用函数对象与使用函数的比较
1.使用函数对象,可以让函数变得有状态。而且可以在运行期再初始化。 2.函数对象通常比寻常函数速度快。 template<int theValue> void add(int& elem){ elem += theValue; } class AddValue{ private: int theValue; public: AddValue(int v) : theValue(v){} void operator()(int& elem) const { e
forxtz
2020/10/10
1.1K0
Numpy 修炼之道 (13)—— 将python函数向量化
想要实现将python函数向量化,Numpy中的vectorize 和frompyfunc函数都可以满足要求。
abs_zero
2018/04/11
3.5K0
SpringBoot使用EasyExcel将Excel数据直接转换为类对象
相比于读取excel到List<List<String>>对象中,抽象一个方法将excel数据直接一步读取到指定的类对象中,更为方便。
翎野君
2023/05/26
2.7K0
盘点Vector类、Vector类向量中添加元素常用方法、Vector类向量中删除元素对象的常用方法
1.在c和c++中的动态数组一般是用指针来实现的,Vector类是实现List接口,java提供了很多的类库来方便开发人员来使用,Vector类是其中之一。Vector类是实现动态数组的功能,主要是用在不知道数组的大小,在开发常用查找、插入、删除的工作的情况。
Java进阶者
2021/07/23
1.8K0
矩阵类模板(类模板)
要求至少包含2个成员函数:矩阵转置函数transport、以及打印输出函数print
叶茂林
2023/07/30
2350
c++模板学习08之类模板对象做函数参数
#include<iostream> #include<string> using namespace std; //类模板对象做函数参数 template<class T1,class T2> class Person { public: Person(T1 name, T2 age) :name(name),age(age){} T1 name; T2 age; void showPerson() { cout << "姓名: " << name << " 年龄:" << age <<
大忽悠爱学习
2021/03/02
6580
向量函数的内积_向量的内积运算
这是我的第一篇原创博客,谈谈自己在读研中的一些小思考,希望能给大家的学习带来一点启发。
全栈程序员站长
2022/09/27
1.3K0
向量函数的内积_向量的内积运算
py学习(函数,类和对象)
废江博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:py学习(函数,类和对象)
废江_小江
2022/09/05
5250
三、文件的操作、函数、类和对象
一、文件 文件的打开与关闭 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式) 示例如下: f = open('test.txt', 'w') 说明: 访问模式说明 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有
酱紫安
2018/04/16
1.3K0
三、文件的操作、函数、类和对象
JS 函数中的 arguments 类数组对象
众所周知,js 是一门非常灵活的语言。当我们在 js 中调用一个函数时,经常会给函数传递一些参数,js 把调用函数时传入的全部实参存储到一个叫做 arguments 的类数组对象里面
很酷的站长
2022/12/04
5.7K0
JS 函数中的 arguments 类数组对象
在模板中使用函数
系统自带的函数,一般在functions.php中 // C函数,获取配置名称 <title>{:C('WEB_SITE_TITLE')}</title> // U函数,获取URL地址 <a class="brand" href="{:U('index/index')}">OneThink</a>
PM吃瓜
2019/08/12
1.2K0
在模板中使用函数

相似问题

Clojure -将函数应用于向量的向量

36

将函数应用于向量

21

使用变量模板将向量参数应用于函数时出现奇怪的错误

10

将函数的向量应用于参数的向量

112

模板类对象的C++向量

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档