常见面试问题

来源:互联网 发布:黑马程序员就业班试题 编辑:程序博客网 时间:2024/05/18 01:21

为什么需要virtual member function又不能滥用virtual
  若基类设计者把本应设计成virtual的成员函数设计成非virtual,则继承类将无法实现改写(overridden),给继承类的实现带来不便;
  另一方面,一旦成员函数被设计成virtual,则该类的对象将额外增加虚拟指针(vptr)和虚拟表格(vtbl),所以倘若出于方便继承类overridden的目的而使所有成员函数都为virtual,可能会影响效率,因为每个virtual成员函数都需付出动态分派的成本。而且virtual成员函数不能内联(inline),我们知道,内联发生在编译时刻,而虚拟函数在运行时刻才处理。对于那些小巧而被频繁调用、与类型无关的函数,显然不应该被设置成virtual。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/loyal_baby/archive/2009/08/23/4474787.aspx

 

 

static 作用总结

http://www.360doc.com/content/06/0427/18/7445_106133.shtml

 

 

 

tCp 与 UDp 的区别是什么?

 

 

tCp/Ip 传输层

OSI 和 tCp/Ip 模型在传输层定义两种传输协议:tCp(或传输控制协议)和 UDp(或用户数据报协议)。

UDp

UDp 与 tCp 的主要区别在于 UDp 不一定提供可靠的数据传输。事实上,该协议不能保证数据准确无误地到达目的地。UDp 在许多方面非常有效。当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用 UDp。ICQ 短消息使用 UDp 协议发送消息。

许多程序将使用单独的 tCp 连接和单独的 UDp 连接。重要的状态信息随可靠的 tCp 连接发送,而主数据流通过 UDp 发送。

tCp

tCp 的目的是提供可靠的数据传输,并在相互进行通信的设备或服务之间保持一个虚拟连接。

http://publish.it168.com/2004/0427/20040427004901.shtml