CSDN论坛 > VC/MFC > 基础类

对成员函数实现回调,并访问非静态成员的问题 [问题点数:100分,结帖人lsamsony]

Bbs1
本版专家分:0
结帖率 96.06%
CSDN今日推荐
Bbs9
本版专家分:78505
Blank
进士 2005年 总版技术专家分年内排行榜第九
Blank
微软MVP 2005年9月 荣获微软MVP称号
Blank
红花 2005年2月 VC/MFC大版内专家分月排行榜第一
2005年1月 VC/MFC大版内专家分月排行榜第一
2004年11月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2005年4月 VC/MFC大版内专家分月排行榜第二
2005年3月 VC/MFC大版内专家分月排行榜第二
Bbs9
本版专家分:86974
Blank
微软MVP 2006年1月 荣获微软MVP称号
Blank
红花 2003年12月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2004年2月 VC/MFC大版内专家分月排行榜第二
2003年11月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2004年8月 VC/MFC大版内专家分月排行榜第三
2003年10月 VC/MFC大版内专家分月排行榜第三
2004年2月 扩充话题大版内专家分月排行榜第三
Bbs5
本版专家分:2375
Bbs10
本版专家分:188320
Blank
进士 2006年 总版技术专家分年内排行榜第五
2004年 总版技术专家分年内排行榜第八
Blank
银牌 2006年10月 总版技术专家分月排行榜第二
2006年9月 总版技术专家分月排行榜第二
Blank
铜牌 2006年5月 总版技术专家分月排行榜第三
Blank
微软MVP 2006年1月 荣获微软MVP称号
2008年1月 荣获微软MVP称号
2007年1月 荣获微软MVP称号
Bbs1
本版专家分:40
Bbs4
本版专家分:1089
Blank
红花 2003年9月 扩充话题大版内专家分月排行榜第一
2004年12月 C/C++大版内专家分月排行榜第一
2004年11月 C/C++大版内专家分月排行榜第一
Blank
黄花 2005年1月 C/C++大版内专家分月排行榜第二
Bbs1
本版专家分:0
Bbs9
本版专家分:78505
Blank
进士 2005年 总版技术专家分年内排行榜第九
Blank
微软MVP 2005年9月 荣获微软MVP称号
Blank
红花 2005年2月 VC/MFC大版内专家分月排行榜第一
2005年1月 VC/MFC大版内专家分月排行榜第一
2004年11月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2005年4月 VC/MFC大版内专家分月排行榜第二
2005年3月 VC/MFC大版内专家分月排行榜第二
Bbs4
本版专家分:1051
Bbs1
本版专家分:0
Bbs4
本版专家分:1499
Bbs1
本版专家分:0
Bbs7
本版专家分:14730
Bbs1
本版专家分:0
Bbs7
本版专家分:14730
Bbs4
本版专家分:1499
Bbs12
本版专家分:432294
版主
Blank
榜眼 2009年 总版技术专家分年内排行榜第二
2005年 总版技术专家分年内排行榜第二
Blank
银牌 2009年7月 总版技术专家分月排行榜第二
2009年3月 总版技术专家分月排行榜第二
2009年1月 总版技术专家分月排行榜第二
2005年7月 总版技术专家分月排行榜第二
2005年5月 总版技术专家分月排行榜第二
2005年3月 总版技术专家分月排行榜第二
Blank
优秀版主 优秀小版主
2015年8月优秀小版主
2015年9月优秀小版主
2015年5月优秀小版主
2015年2月论坛优秀版主
Blank
铜牌 2009年6月 总版技术专家分月排行榜第三
2009年2月 总版技术专家分月排行榜第三
2005年4月 总版技术专家分月排行榜第三
2005年1月 总版技术专家分月排行榜第三
Bbs1
本版专家分:0
匿名用户不能发表回复!
其他相关推荐
类的静态方法(函数)中为什么不能调用非静态成员(属性)?
程序最终都将在内存中执行,变量只有在内存中占有一席之地时才能被访问。 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问;非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问。在一个类的静态成员中去访问其非静态成员之所以会出错是因为在类的非静态成员不存在的时候类的静态成员就已经存在了,访问一
C++ 实现把非静态成员函数作为回调函数(非static)
转载地址:http://qimo601.iteye.com/blog/1727645 众所周知,C++的类成员函数不能像普通函数那样用于回调,因为每个成员函数都需要有一个对象实例去调用它。         通常情况下,要实现成员函数作为回调函数,一种常用的方法就是把该成员函数设计为静态成员函数,但这样做有一个缺点,就是会破坏类的结构性,因为静态成员函数只
C++中的Thunk技术 / 非静态类成员函数作为回调函数 的实现方法
申明:本文非笔者原创,原文转载自:http://www.cnblogs.com/memset/p/thunk_in_cpp.html 用我的理解通俗地解释一下什么是C++中的Thunk技术吧!   Thunk技术就是申请一段可执行的内存, 并通过手动构造CPU指令的形式来生成一个小巧的, 具有明确作用的代码块.   小巧? 具有明确作用? 你曾经初学C++时, 如果我没猜
C++静态成员和非静态成员的区别
1.数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.静态成员在每个类中只有一个拷贝,是解决同一个类的不同对象之间数据和函数共享问题的。
将类的成员函数作为回调函数(外一篇:友元函数)
转自:http://blog.csdn.net/xylary/article/details/1548596 将类成员函数用做C回调函数 提出问题:  回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。 分析原因: 普通的C+
c++-静态成员函数和非静态成员函数的区别
1.virtual与静态函数 C++中,静态成员函数不能被声明为virtual函数。 例如,下面的程序会编译失败。#include<iostream> class Test { public: // 编译错误:static成员函数不能声明为virtual virtual static void fun() { } }; 同样地,静态
类的静态成员函数调用类非静态成员的方法
  在类中使用静态成员函数是一种破坏封装的行为,因为静态成员函数只能调用类的静态成员。但是在有些情况下只能使用静态成员函数,比如类内绑定自身成员函数作为回调函数,这种情况在开启多线程时很常见,如果不想将回调定义为全局那只能定义为类静态了,为了避免过度破坏封装类中应当尽量不要让类静态成原函数调用类成员。这种情况下可以用一种比较取巧的方法。 因为类的静态成员和普通成员其实就一种区别,那就是静态成员...
静态成员函数调用非静态成员
http://www.cnblogs.com/this-543273659/archive/2011/08/29/2157966.html 原来... C++中静态成员函数访问非静态成员变量   C++中静态成员函数访问非静态成员变量   先看一个class class a { public:   static Fun
C++静态函数中调用非静态成员函数或变量
用static声明的函数是静态函数,在调用该函数时,不会将对象的引用传递给它,所以在static函数中不可访问非static的成员 但实际情况中,我们经常会需要在静态函数中使用非静态函数或变量。如下代码中ThreadProc是静态函数,线程启动时会自动调用 在此函数中需使用非静态成员变量m_nMark ,此时不可以在ThreadProc中直接调用。 解决方法:先声明一个自己类型的静态变量m_st
非静态成员引用必须与静态成员相对
文章转载自:http://blog.csdn.net/shenqi67/article/details/7533094 Instance成员和static成员(p318) 实例变量/函数(instance variable):和一个类定义的实例(对象)密切相关。对同一个类的不同对象,其实例变量占有不同的存储空间。 Static变量(static variable or cla
关闭
关闭