:shock:这个问题是很古老的问题了,不过万万没有想到,昨天我居然在这里翻船了!!! 今天写出来,大家一起复习下 问题描述: 有类Class A { int fun(); } 在消息处理机制种遇到如下情况: 消息影射列表中 {Message,fun} 编译无法通过 解决方法如下: 修改函数声明 有类Class A { static int fun(); } 编译通过 结论如果其他函数需要使用fun函数,需要将函数生命为static。static为静态函数,函数归类所有,拥有固定地...
by net_robber - C/C++ - 2006-03-08 12:36:56 阅读(951) 回复(2)
找了很多,只是说静态函数内不能使用类中的非静态成员,没有找到哪里说有限定参数的问题啊 我这个到底是什么问题 19 class URL 20 { 21 public: 22 static int urlParse(char const *url,int slen,URLEntity *urls); 23 }; 3 int URL::urlParse(char const *url,int slen,URLEntity *urls) 4 { 5 ............................. 6 }
class point { public: float getx() { return x; } virtual ~point() { } virtual float getz() { return 0.0; } private: float x; float y; float z; }; int main(int argc, char* argv[]) { printf("%p\n",&point::getz); return 0; } 上边代码中打出的地址为0040103C 而不是2,为什么呢? 按照Lippman的inside the c++ Object Model的描述,对于虚拟函数来说,得到的地址是它在virtual table中的...
c++ templates P94里面的一句话 我有点想不明白 这个模板的翻译应该是在编译成二进制代码之前进行的吧 这样的话,在编译之前,就能确定成员函数模板被实例化的个数,这样的话,声明成虚函数,也就能确定虚表的大小了吧 虚表大小的产生在模板被翻译完成之前产生的话,这就是理所当然的了。 不过,虚表需要在那么靠前的地方产生吗? 谢谢!!
《Modern c++ design》 P12 最后一行 然而如果为policy类定义了一个虚析构函数,会妨碍policy的静态链接特性,也会影响执行效率。 在这儿,这个policy就是一个模板类接口,它提供了一组操作,可以供host classes来实现 (个人理解……:shock: 可能有误) 何谓静态链接特性? 为什么会影响到静态链接特性? 想不明白…… 谢谢!!!
template
类的静态成员不属于类的任何实例,而直接为类所有。感觉就好像全局变量。 而类的静态成员函数呢,难道说是全局函数,这点好像说不过去,函数好像全局的说法没有意义,反正调用都是为了完成一项功能,那静态函数意味着什么? 意味着只有静态函数才能调用静态变量,从这点上,才有了静态函数和普通函数区别的意义? 静态成员在函数里面如何引用? 如 class A 其中有变量 static int a; 成员函数Fun1() 那么在Fun1中 Fun1() { 既可...
代码: class PartList { ........... }; class Element { public: .......... static PartList *GetpElementList() { return smpElementList; } //这样编译没有错误,但如果用const修饰它,就会提示: //"modifiers not allowed on static member functions" //如果去掉static, 再用const修饰,就没有问题。 private: ...... static PartList *smpElementList; }; 上述代码中,为什么静态成员函数用const修饰了,就会有...