社区
C++ 语言
帖子详情
如果一个类中存在大量的虚函数,会造成什么样的结果?C++的思考题2
ltolll
2008-09-21 11:58:38
如题
...全文
669
30
打赏
收藏
如果一个类中存在大量的虚函数,会造成什么样的结果?C++的思考题2
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SeanHwang
2008-09-23
打赏
举报
回复
那么类的虚函数表会很大~
SeanHwang
2008-09-23
打赏
举报
回复
那么类的虚函数表会很大~
mxm324
2008-09-23
打赏
举报
回复
哥们难道用的是586
qhfu
2008-09-23
打赏
举报
回复
多少叫大量,几个?是相对非虚函数比较呢?还是绝对数量?
虚函数意味着要被继承, 虚函数多一般是一个接口想表达的 事情太多, 可以考虑分离接口
晨星
2008-09-23
打赏
举报
回复
up一下taodm。
这个问题对于编译器的测试人员或许有点意义,但对于一般的开发人员意义不大。
大多数情况下,一个类中的虚函数超过10个,就该停下来考虑一下是不是需要重构了,怎么会让它多到足以影响性能?
晨星
2008-09-22
打赏
举报
回复
如果一个程序中包含太多语句,结果会怎样?
blue_csharp
2008-09-22
打赏
举报
回复
效率效率。。有时候真搞不懂在硬件高速发展的今天,为了一个语句或者一个指令的效率讨论半天有什么意义,关键问题是:有公司为为你的这种精神劳动给薪水?想想吧,二十年多前美国普通程序员的平均时薪就在80美元左右。想想你现在的工资吧,有几人能达到这个标准?难道中国人写的代码就是烂?
wzyzb
2008-09-22
打赏
举报
回复
MARK
mars_man
2008-09-22
打赏
举报
回复
搞点内存吧,现在便宜得没得说了。
至于执行效率与数量到是没有直接的关系,与系统cache缓存等有关罢了。
对于上面哪楼的:int a[100], a[0]和a[100]效率不同这种说法不敢苟同,都是通过基址+偏移量的方法来获取地址。
按照那位兄台的说法,莫非 x + 0 和 x + 1234 在时间上有多少的差别?
llaaddoo
2008-09-22
打赏
举报
回复
虚函数是用内存换速度~~
基本上不存在执行效率问题~~
delphi的vcl大量使用了虚函数和动态函数~~~
很多c++的gui库也大量使用虚函数~~~
都没见慢到那里去~~
在这个地方扣效率没太大意义~~
matrixdwy
2008-09-22
打赏
举报
回复
[Quote=引用 18 楼 ForestDB 的回复:]
还是得说句:效率。
这个问题最典型的设计就是GUI系统,GUI系统是最好表现虚函数作用的,但正是因为效率,MFC用了难看的macro,而C++Builder也对C++进行了私有扩展,以避开虚函数。
其他的GUI框架也或多或少的采用这样那样的技术,以避开虚函数的效率问题。
[/Quote]
ZC
kkndciapp
2008-09-22
打赏
举报
回复
vtable大了,查找效率会下降
wudeshou82666
2008-09-22
打赏
举报
回复
学习 了
呵呵
其实到底谁说得有理我也不是很清楚
taodm
2008-09-22
打赏
举报
回复
一个class含有大量的函数的时候就已经被称为“垃圾堆”了,更别论大量虚函数。
有空看看《重构:改善既有代码的设计》-“代码的坏味道”吧。
blackcat242
2008-09-22
打赏
举报
回复
虚表大点呗,没啥效率影响,搜索一个表的效率跟其他相比,微乎其微
rosky
2008-09-22
打赏
举报
回复
虚函数的效率问题,值得考虑啊
虚表,虚指针指向虚表
ForestDB
2008-09-22
打赏
举报
回复
还是得说句:效率。
这个问题最典型的设计就是GUI系统,GUI系统是最好表现虚函数作用的,但正是因为效率,MFC用了难看的macro,而C++Builder也对C++进行了私有扩展,以避开虚函数。
其他的GUI框架也或多或少的采用这样那样的技术,以避开虚函数的效率问题。
zhangzhao123
2008-09-22
打赏
举报
回复
是会影响到效率问题!
ysuliu
2008-09-22
打赏
举报
回复
有多大量?比中国人还多??那我没话说。。。
大写的池
2008-09-21
打赏
举报
回复
...!!! 现在内存都快趋于无穷了
加载更多回复(10)
C++
继承、
虚函数
、覆盖、多态、纯
虚函数
C++
继承、
虚函数
、覆盖、多态、纯
虚函数
。
【
C++
】多态 —— 条件 |
虚函数
重写 | 抽象类 | 多态的原理
其实并不复杂~
【
C++
】
虚函数
表 & 多态的原理 & 动态绑定和静态绑定
梳理
虚函数
表、多态原理、动静态绑定的知识
面向对象程序设计
C++
练习题(1)
1-1.教材习题4_13:定义Circle类并计算面积 【问题描述】 定义
一个
Circle类,有数据成员radius(半径),成员函数getArea()计算圆的面积。构造
一个
Circle的对象进行测试(注:圆周率取值3.14)。 【输入形式】 程序参考的输入(提示“Input Radius:”): Input Radius:10 【输出形式】 程序参考的输出: Area:314 【样例输入】 Input Radius:10 【样例输出】 Area:314 #include<iostream&
C++
面试题 (面试官们别再问什么是
虚函数
)
有投这个岗位的朋友嘛?有一些
C++
岗位的面试官,在面试的时候总是问一下莫名其妙、烂大街,甚至不合逻辑的问题,万年不变的“指针和引用的区别”、“构造析构函数能否是
虚函数
”、“
虚函数
的原。
C++ 语言
64,643
社区成员
250,474
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章