自由地使用C++,不要C

来源:互联网 发布:gameloft java 编辑:程序博客网 时间:2024/05/22 01:46
我理解的好的软件开发是自己日积月累地使用语言并且创建一个自己可以维护(或者一个团队可以维护)的库,并且完善它,然后其他的应用都在这个库的基础上发展起来。那么我们创建的应用都是自己可以控制和可以维护的。
一     对象 和 过程
C++ 和 C 的差别是 C++ 可以把一些相似的东西放在一起,也就是抽象出一个对象,哪些是属性,哪些是操作的函数。
如下一些C 的函数:
strcpy
strcat
strcmp
...
这些都是字符串的操作,我们可以将它们归为一个字符串的对象,于是 在STL 中出现了 string 对象,在 MFC 中出现了CString 对象。这样我们使用的时候可以不必要要记忆 strcpy,strcat ,strcmp ... 的函数了,而我们使用可视化的开发工具,借助VC 助手(我在windows 下开发,可能 linux 下 都 没有吧),写一个与字符串有关的程序就很简单了,我们只需要记住一个对象,知道这个对象的作用就可以了。
二     多态性
   看了COM 书籍之后,受到了一些启发。COM 其实也就是导出一些接口,而不是类,说穿了就是给你一个函数列表的指针,而函数的个数是已知的,所以这个接口的大小(使用sizeof(className)),应该为 sizeof(void*) ,所以在接口实现的类中我们可以尽情的更改我们的代码,比如在实现类中增加函数或者一个属性等等,发布出来的程序只要接口不变就不用进行重新编译就可以发布。而导出类是必须要重新编译,因为导出类的 sizeof(className)变了。
当我们定义了一个接口:
class ISocket
{
public:
    BOOL Send()=0;
   BOOL Recv()=0;
  BOOL Accept()=0;
...
};
我们可以类似COM 导出一个 接口
ISocket *CreateSocket();
void ReleaseSocket();
因为是接口我们可以重新实现或者修改;如果我们使用C开发的话,我们只有去记忆一些函数的库,如果出现问题的话,我们只能把代码重写一遍,而使用接口方式可以保留原来的代码,而派生一个新类来搞定。
在 Windows Media 系列的SDK 中,我们 经常看到 类似 Callback 的 接口 ,如下
IReaderCallback 这样的接口,其实只是定义了一些接口,来集中处理完成通知,或者错误通知,而我们只需要,自己在一个已知的类中派生即可(在C中接收通知要设置一个类似callback 函数的 ,又是一堆的函数).
举个例子:
我们网络通讯的时候,接收到数据以后,要在UI上显示,我们和UI 的信息交换要么使用消息,要么把UI 的指针传送给接收到消息的线程,这里我想到的简捷的方法是
从 class CMainDlg:public CDialog,public INetCallback
{};
然后把 传送一个 INetCallback 指针给 接收到消息的线程。如果其他的地方需要实现Callback ,只需要派生一下。我相信要比C 中 的 简捷。

三 模板
   模板是C++中新的特性,如果我们对它不了解的话,或者看最后生成的汇编代码也看不大明白的话,我们可以不使用。

总之     C++  面向对象的方法的确要比面向过程先进得多,要降低程序员的工作量(代码重用,库的发布和使用)。而且引申出来的COM思想或者接口的思想也是相当的灵活,方便,易于管理。让自己开发的程序其他的人也便于看懂。







原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 经典家庭伦txt丝母韵欲电子书 经典家庭伦txt丝母韵欲彩图 经典家庭伦txt丝母韵欲txt下载 经典家庭伦txt丝母韵欲d下载 经典家庭伦txt丝母韵欲视频 长篇都市情感小说 经典家庭伦全文 久九九久精品免费视频 91在线中文字幕香蕉人人视频 经典家庭伦txt岳丝母小丹韵欲阅读 碰超上线视频人人视频千人 91青青碰起上线视频人人 车里太挤姑妈坐我腿上做小说 经典家庭伦txt岳丝母小丹韵欲小说 我的丝母欲韵第六节 91在线中文久人人视频动漫 悉母全集动漫完整视频 类别中文动漫中的视频 腐母动漫全集视频时长 86 母汁视频动漫 久99久视频精品免费观看38 难以忍耐动漫视频中文 久九九久手机视频 乳娘家教动漫无删减在线播放 久99久精品视频只有精品 母恋人2017中文 久九九久视频精品6思思 巨母3动漫在线 久99久视频精品免费视频动漫 水柔姐大战儿子视频91 久九九久视频精品 99视频国内99视频在线观 横恋人母日语中字 玖玖视频热线视频大全 九九视频热线视频大全动漫 99ra视频这里只精品 九九久视频热线视频 九九久视频热线视频精品 九九视频本韩视频 9久9久女女视频精品mp4 久99久精品免费观看15