C和C++的使用环境
来源:互联网 发布:网络布控是什么意思 编辑:程序博客网 时间:2024/05/18 00:26
C和C++的一个适用环境,有些事情C++还是具有很大的优势。我个人的编程习惯,由于追求性能上的优势,所以多数倾向于采用C语言,在C语言上也比较熟悉,不过也发现不少问题。
1、在一个继承关系复杂的系统中,C需要增加复杂度。
2、在一个管理关系复杂的系统中,C需要增加复杂度。
我们在模块化编程中,不论是否采用OO思想,总是倾向于将一个功能内聚的模块进行封装,比如建立一个list_t结构,来描述一个链表,然后定义list_node_t结构来描述链表的节点。现在我要采用链表来管理socket会话,那么,我们需要为每个会话定义来自list_node_t的扩展,最常用的方式是
成员param代表会话的扩展,一般id可以跟socket句柄等价或者其他唯一标识,然后将对session_t的链表操作转化为对成员node的操作,这样可以完全利用list_t相关的api。不过我们对session的操作,要做很多强制类型转化,这个跟c++有很大的区别,c++不得不说还是有很大优势。
在一个管理关系复杂的应用环境中,比如结构a包含结构b的链表,而结构b同样包含结构a链表,那么使用c的话,就会出现更加复杂的冗余代码。
实际上,如果我们list_t设计好多个接口,那么在每个管理器中重复这些接口倒能够减少操作。比如list_t中有插入操作,那么在会话管理器中重复这些操作,也是可行的,不过需要增加多种代码。
另外一个借鉴模版的方法,避免在容器中指定类型,而全部使用宏来实现,也是可行的。
- C和C++的使用环境
- C/C++,指针的定义和使用
- Objective-C环境的protobuf3.0.0使用
- eclipse 上C和C++的开发环境
- 【Objective-C】objective-c的环境和helloworld
- 非托管环境语言(c,c++)和托管环境语言(c#,java)的编译过程差别
- c.tld中<c:if>和<c:choose>的使用
- C语言##和#的使用
- 使用Eclipse(CDT)和MinGW构建Windows上的C/C++开发环境
- (单片机原理与应用)keilC51编译环境的使用(C版和汇编版)
- Objective-C初探-如何搭建和使用 Xcode 开发环境
- 使用Sublime Text 2 和 MinGW 搭建C开发环境
- c语言的环境!
- [c\c++]C++环境下使用C函数
- C和C++的混合编译--extern “C”的使用
- C/C++]可变参函数的定义和使用【转】
- C++/C枚举量的使用和讨论
- 【C语言】【unix c】静态库的制作和使用
- [zz]几道c++面试题
- 惠普HP CQ40 519TX XP系统安装以及XP驱动
- Flex新建组件中添加Style的错误:The prefix "mx" for element "mx:Script" is not bound
- 安装SQLServer2005错误无法在com+目录中安装和配置程序集
- 博客的烦恼
- C和C++的使用环境
- C#窗体间传值的几种方法
- 邮件服务器软件能否成就企业邮箱市场?
- 已安装 MSXML 核心服务 6.0 Service Pack 2 时 SQL Server 2005 安装程序失败
- CentOS下安装网卡驱动
- 330pics-shell scripts-second
- 完美支持98、2000系统自定义打印纸张的VB代码
- 升级DevExpress8.2到9.1.5
- wap开发-----VS2005自带的仿真器