新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论高级C/C++编程、代码重构(Refactoring)、极限编程(XP)、泛型编程等话题
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 C/C++编程思想 』 → 我现在理解的C++(转载)[cardinal ] 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 55991 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 我现在理解的C++(转载)[cardinal ] 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     pennyliang 帅哥哟,离线,有人找我吗?白羊座1979-4-7
      
      
      威望:8
      等级:大二期末(C++考了100分!)
      文章:266
      积分:1911
      门派:Lilybbs.net
      注册:2005/3/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给pennyliang发送一个短消息 把pennyliang加入好友 查看pennyliang的个人资料 搜索pennyliang在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看pennyliang的博客楼主
    发贴心情 我现在理解的C++(转载)[cardinal ]

    *种种原因,很多精力要投入到java的学习和使用中去了,想形成一个学习C++的系列文章

    ,没有什么风格,也没有什么时间表,想到哪就去写。这里把以前自己另外一个ID发表的

    一篇文章的一部分作为这个系列的第一篇,算是开头吧。*/

    学习C++重在理解其各种语言设施所代表的语义,以及C++所能表示的语义所代表的设计思

    想。首先从宏观上入手,你需要明白的是C++是程序设计语言的本质。在此我把C++最重要

    的性质写下来:C++是一门静态类型检查,基于C内存模式,支持四种基本程序设计范型的

    语言。注意,这里说明了三个本质特性,静态说明了语言的类型检查性质,基于C内存模式

    告诉我们在C++中所有与内存有关的操作都需要程序员自己来负责,这样就带来了很多设计

    程序时的需要注意的地方,而理解支持的四种基本范型却是理解各种语言设施的基础。然

    后记住C++的最大的一点设计哲学,也是其贯穿应用C++的一条本质,我引用《C++ PRIMER

    》中文版前言内的一句话表示--“C++的基础是各种设施,它们让用户能够通过定义新的数

    据类型来扩展语言本身,这些新类型可以与内置类型一样的使用方式(如何理解这句话是

    关键,我的理解是:用户定义类型可以在任何使用内置类型的时候做为其替代,再具体点

    说就是用户定义类型可以象内置类型那样可以被声明,其对象可以被初始化,可以相互复

    制,可以象内置类型对象那样和很多操作符一起使用,可以被作为参数传递给函数,可以

    作为函数的返回值,可以作为容器的操作对象,用户定义类型可以和内置类型一样作为模

    板的参数),掌握这些设施(哪些设施?就是让用户定义类型可以和内置类型一样方便使

    用的设施,包括什么?构造,拷贝,解构函数,操作副重载.....)的第一步就是理解基本

    语言(什么是基本语言?就是C++中better c部分)。

    在此,我还想提出一点十分重要的概念:一门语言的最本质的东西就是其类型系统,任何

    语言都有自己的独特的类型系统,学习C++就是学习他的类型系统。所以首先需要彻底明白

    什么是数据类型这个概念。这样你的思路就清楚了,你有选择,从每一种C++支持的设计范

    型入手学习。

    结构化设计-----也就是C++中的better c部分,你需要在C的基础上学会函数重载和引用这

    两个最重要的语言新特心性。

    基于对象----你需要建立C++最强大的概念--类,也就是用户定义类型,这其实就是数据结

    构里面接触的抽象数据类型的概念,以及合理构造使用类的一系列语言措施。并始终记住

    ,在C++进行设计时用类来表示我们需要表示的概念。类也是C++抽象机制里面最核心的概

    念。

    面向对象----在这里你需要知道继承和多态这样的OO概念,以及句柄类这样常见的设计技

    术,这里你需要明白你开始进入了对接口编程的阶段。同时你要学会OO思想,C++的一些设

    施只是为了把OO思想在语言所支持的语义中充分的表示出来。但是在这里,同时你需要明

    白的C++能表示的语义是受到其当初语言设计原则限制的(什么原则?静态类型检查,不为

    不需要的东西付出代价,选择权在程序员手上语言本身不去强迫程序员的做出选择),也

    就是说C++所能表示的OO思想可以称为具有C++特色的OO思想了。这样的OO思想和JAVA所代

    表的纯OO哪个更好?没有定论,因为他们本身的设计理念就不一样。

    泛型设计----这里你需要明白最重要的一点是C++的temlate机制无论其开始建立的初衷是

    什么,现在他所代表的真实含义是:编译时类型推导,也就是编译时多态,由此明白了泛

    型的核心---把各种类型当作一种抽象条件的具体化,C++有措施可以定义抽象条件吗?没

    有,所以这些条件只能定义在我们自己的心中,但我们可以把具体化的类型当作一种抽象

    条件实现在template机制中去,从而使tempalte成为比类型推导机制更进一步的东西,那

    就是抽象条件的推导。也就是说,我们不再把template接受的参数看成是类型,而是把te

    mplate看成是一种接受抽象条件的机制,无论其类型如何,只要这种类型满足tempalte所

    接受的抽象条件就可以作为参数传递进去,这样就代表了一种泛型的思想-----类型不再是

    根本,抽象条件才是,类型不过是抽象条件的外衣和在C++中的实现方式而已。在结合基于

    对象和泛型设计这两种抽象设计模式的技术上诞生的工业产品就是---STL。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/11 21:35:00
     
     awt 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:21
      积分:194
      门派:XML.ORG.CN
      注册:2005/3/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给awt发送一个短消息 把awt加入好友 查看awt的个人资料 搜索awt在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看awt的博客2
    发贴心情 
    熟练掌握泛型编程,是我的目标。。。。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/11 21:56:00
     
     cathy 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:5
      积分:74
      门派:XML.ORG.CN
      注册:2005/3/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给cathy发送一个短消息 把cathy加入好友 查看cathy的个人资料 搜索cathy在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看cathy的博客3
    发贴心情 
    每一种style都不能解决一切问题。我的理想是在企业级的应用中,充分采用面向对象的方法来看待存在的对象和流程。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/12 23:17:00
     
     awt 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:21
      积分:194
      门派:XML.ORG.CN
      注册:2005/3/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给awt发送一个短消息 把awt加入好友 查看awt的个人资料 搜索awt在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看awt的博客4
    发贴心情 
    楼上很赞,oo的确是应该我们深入理解的

    学好oo不是一辈子能搞定的事情,要不断的学习

    如果是为了考试啊,考证啊,那就失去意义了

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/13 11:30:00
     
     mr28 帅哥哟,离线,有人找我吗?天蝎座1980-10-27
      
      
      等级:大一新生
      文章:0
      积分:54
      门派:W3CHINA.ORG
      注册:2005/3/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mr28发送一个短消息 把mr28加入好友 查看mr28的个人资料 搜索mr28在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看mr28的博客5
    发贴心情 
    看来我还要在oo上继续下功夫呀!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/18 9:11:00
     
     mysandy 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:63
      门派:XML.ORG.CN
      注册:2005/3/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mysandy发送一个短消息 把mysandy加入好友 查看mysandy的个人资料 搜索mysandy在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看mysandy的博客6
    发贴心情 
    oo是个很好的方法 但是 我现在应用起来就是很不爽  我要好好学习了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/25 12:47:00
     
     caixukun 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:14
      积分:101
      门派:XML.ORG.CN
      注册:2005/4/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给caixukun发送一个短消息 把caixukun加入好友 查看caixukun的个人资料 搜索caixukun在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看caixukun的博客7
    发贴心情 
    好好学习,天天向上
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/26 9:56:00
     
     handll 帅哥哟,离线,有人找我吗?水瓶座1982-1-27
      
      
      等级:大一新生
      文章:3
      积分:66
      门派:W3CHINA.ORG
      注册:2005/4/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给handll发送一个短消息 把handll加入好友 查看handll的个人资料 搜索handll在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看handll的博客8
    发贴心情 
    不错!希望多些此类文章!

    ----------------------------------------------
    蓝色天空[url]http://web.it21c.com/hand[/url]

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/30 20:55:00
     
     ulifj 美女呀,离线,快来找我吧!
      
      
      等级:大一(猛啃高等数学)
      文章:13
      积分:104
      门派:XML.ORG.CN
      注册:2005/4/27

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给ulifj发送一个短消息 把ulifj加入好友 查看ulifj的个人资料 搜索ulifj在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看ulifj的博客9
    发贴心情 
    没办法,本人才疏学浅,目前还不懂什么是oo
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/8 8:31:00
     
     jjplion 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:15
      积分:116
      门派:XML.ORG.CN
      注册:2005/4/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jjplion发送一个短消息 把jjplion加入好友 查看jjplion的个人资料 搜索jjplion在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jjplion的博客10
    发贴心情 
    现在写c程序都用oo的思想了,^_^
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/6/18 12:38:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 C/C++编程思想 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/27 18:59:27

    本主题贴数21,分页: [1] [2] [3]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    4,390.625ms