社区
工具平台和程序库
帖子详情
关于for_each()的问题
loveyu
2002-10-23 03:48:22
如果我的for_each()在自己写的类中, 那在for_each()中的那个函数是否一定要定义为
static. 如为static, 如何访问我类中的成员变量
...全文
38
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和list_for_each_entry_safe
比较 共同点 1.list_for_each和list_for_each_entry都是遍历链表的两个宏,本质上都是for循环。 2.他们做的事情本质上都一样,A.获取链表头,B.判断链表项是不是链表头,C.指向链表的下一项。 3.他们的区别:list_for_each遍历的链表,其链表项不属于某个结构体。或者说不关心它是不是包含在某个结构体中。 区别 1.list_for_each_entry遍历的链表,其每一项都是某个结构体中的成员,单纯遍历链表还不行,还要找到包含这个链表项的结构体的地址,从而为下一
list_for_each_entry和list_for_each_entry_safe
看内核代码都会发现,内核链表的操作常用的二个宏list_for_each_entry和list_for_each_entry_safe 循序渐进,先从最底层的函数container_of函数说起,其内核定义如下: 先看offsetof宏,根据优先级的顺序,最里面的小括号优先级最高,TYPE *将整型常量0强制转换为TYPE型的指针,且这个指针指向的地址为0,也就是将地址0开始的一块存储空间...
linux 内核链表遍历宏 list_for_each_entry list_for_each_entry_safe
看内核代码都会发现,内核链表的操作常用的二个宏list_for_each_entry和list_for_each_entry_safe 循序渐进,先从最底层的函数container_of 函数说起,其内核定义如下: 先看offsetof宏,根据优先级的顺序,最里面的小括号优先级最高, TYPE *将整型常量0强制转换为TYPE型的指针,且这个指针指向的地址为0, 也就是将地址0开始的一块...
c++ for_each 用法
主要参考:for_each的用法,转载自蕭鴻森的blog (找不到原文的链接)在接触C++特性Lambda时,接触到for_each,没想到这内容还挺多的,所以,先了解for_each,再学习Lambda。 这些文章其实都是在网上参考前人的博客,有些自己整理,有些不需要修改,本意是为自己学习,以备以后查阅之用。如有侵权,联系我即可。 本文代码大部分自己写过,使用MinGW。 原文非常好,建议
工具平台和程序库
24,856
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章