社区
工具平台和程序库
帖子详情
关于for_each()的问题
loveyu
2002-10-23 03:48:22
如果我的for_each()在自己写的类中, 那在for_each()中的那个函数是否一定要定义为
static. 如为static, 如何访问我类中的成员变量
...全文
44
8
打赏
收藏
关于for_each()的问题
如果我的for_each()在自己写的类中, 那在for_each()中的那个函数是否一定要定义为 static. 如为static, 如何访问我类中的成员变量
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
北极猩猩
2002-10-30
打赏
举报
回复
不用定义成静态的,
张友邦
2002-10-30
打赏
举报
回复
其实for_each是个很简单的算法,你完全可以自己在自己的类里重新写一个。
loveyu
2002-10-29
打赏
举报
回复
难道不能把for_each()封装在自己的类中
lattice
2002-10-24
打赏
举报
回复
参考mem_fun系列bind系列
#include<vector>
#include<algorithm>
#include<functional>
#include<iostream>
#include<cstdlib>
using namespace std;
class a
{
public:
a(int i=10){i_ = i;}
void g() const {cout<<"i= "<<i_<<endl;}
void f(int j)const {cout<<"i= "<<i_<<","<<"j= "<<j<<endl;}
private:
int i_;
};
int main()
{
vector<a> va(100);
for_each(va.begin(),va.end(),mem_fun_ref(&a::g));
for_each(va.begin(),va.end(),bind2nd(mem_fun_ref(&a::f),2));
system("Pause");
}
张友邦
2002-10-23
打赏
举报
回复
没有吧,不用定义为静态的。
xbin999
2002-10-23
打赏
举报
回复
2. 静态函数那只有访问静态的成员变量了
loveyu
2002-10-23
打赏
举报
回复
不是, 就像这样
void CMyClass::Test()
{
..
vector<string> vecStr;
for_each(vecStr.begin(), vecStr.end(), IsEqual);
...
}
void CMyClass::IsEqual(CString &str)
{
....str....
。。。。。。
}
问题:1, IsEqual()一定要定义为 static 吗?
2, 如IsEqual()为static, 在该函数中如何访问CMyClass中的成员变量
kwok_1980
2002-10-23
打赏
举报
回复
怎么在你的类里面的???
你自己写的for_each??
【C++】STL 算法 - for_each 遍历算法 ( for_each 函数原型 | for_each 函数源码分析 | for_each 函数 _Fn _Func 参数 值传递说明 )
一、for_each 算法 1、for_each 函数简介 2、for_each 函数原型 3、for_each 函数源码分析 4、for_each 函数 _Fn _Func 参数 值传递说明 二、代码示例 - for_each 算法 1、代码示例 - for_each 算法 传入普通函数 2、代码示例 - for_each 算法 传入 Lambda 表达式 3、代码示例 - for_each 算法 传入一元函数对象 4、代码示例 - for_each 算法 函数对象 值传递
list_for_each与list_for_each_entry【转】
(转自:https://blog.csdn.net/u011913612/article/details/45972815) 分析的结果: 1.list_for_each和list_for_each_entry都是遍历链表的两个宏,本质上都是for循环。 2.他们做的事情本质上都一样,A.获取链表头,B.判断链表项是不是链表头,C.指向链表的下一项。 3.他们的区别:list_for_each遍...
list_for_each与list_for_each_entry
1.list_for_each和list_for_each_entry都是遍历链表的两个宏,本质上都是for循环。 2.他们做的事情本质上都一样,A.获取链表头,B.判断链表项是不是链表头,C.指向链表的下一项。 3.他们的区别:list_for_each遍历的链表,其链表项不属于某个结构体。或者说不关心它是不是包含在某个结构体中。 list_for_each_entry遍历的链表,其每一项都是某个结构体中的成员,单纯遍历链表还不行,还要找到包含这个
c++ for_each 用法
主要参考:for_each的用法,转载自蕭鴻森的blog (找不到原文的链接)在接触C++特性Lambda时,接触到for_each,没想到这内容还挺多的,所以,先了解for_each,再学习Lambda。 这些文章其实都是在网上参考前人的博客,有些自己整理,有些不需要修改,本意是为自己学习,以备以后查阅之用。如有侵权,联系我即可。 本文代码大部分自己写过,使用MinGW。 原文非常好,建议
list_for_each与list_for_each_entry详解
一、list_for_each 1.list_for_each原型 #define list_for_each(pos, head) \ for (pos = (head)->next, prefetch(pos->next); pos != (head); \ pos = pos->next, prefetch(pos->next)) 它实际上是一个 for 循环,利用
工具平台和程序库
24,853
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章