C++本质

          直奔主题.

         本来,像" C++是一种计算机语言"这样的废话我不想再说一遍,  但仔细一想, 觉得这话不算太准确, 计算机并不认识C++呀, 中间还得经过编译器, 好比火星上有一种语言叫PG, 火星人做了个PG编译器,将PG翻译成为汉语(故意不说英语:)), 这时地球人就能听懂了, 但我们不能说"PG语言是一门地球人语言".

         然而,"C++是一门语言",这句话不是经得起推敲的, 下面,我说的"C++本质"难免转移到"语言的本质"上面来.

         学过"形式语言与自动机"课程中,我们知道,语言是一些符号与规则的结合体. 这句话相当精辟! 汉语是的,英语是的,C++也是的,其他如JAVA也是的!

        C++作为一门语言,它是一些符号与规则的集合,它定义了一些变量,一些函数,一些类,这些理解为"符号"也行,而C++又规定了像这样的"话":

class base{ .....};
class der:public base{.....}; 则说明der的对象有希望使用base的"财产", 这就是所谓的C++的规则!

         然而,由于我们的工作繁忙,脑力劳动很重,常常喜欢把C++与编译器混成一团再来理解什么是C++,这就容易犯"一叶障目,不见泰山"的错误. 作为一种语言,C++的直接处理者是编译器, 如果没有编译器,C++一点用都没有! C++依赖于编译器. 你可以不学习C++, 自创一个"符号与规则的结合", 取名为D++, 如果这个D++恰好与C++定义的"结合"相同, 那它就是你自创的C++, 这下明白C++是什么了吧.C++就是你的D++!  这时,你在根据D++的要求,写一个软件,让它能够将D++语言的"符号与规则的结合"表达出来, 该软件名为VD, 如果它能够胜任它的工作, 那它就是一个合格的D++编译器,如果说D++就是C++, 那你的VD就是合格的C++编译器.

         编译器往往不是完美的,它并不能完完全全地表现出语言的特性!  我们常用的VC编译器就是这样,这时就说它有BUG.

         很多人都说C++很难, 其实这个"难"就是C++规则难, 更确切地不如说是C++规则灵活,规则很多. 而且有些规则理解起来有些伤脑筋,还有些规则平时根本用不到,这就更加让人觉得C++高深莫测. 甚至有人说:没有人能够完全地理解C++. 其实,换个角度思考,我们很多人都理解了C++. 我这样问: 你理解汉语吗? 作为一个中国人,你当然会说:我当然理解汉语. 可是,我说:你认识'丂'这个字吗?  "小明差点没考上大学"这话好理解吗? 你可能得连摇两次头了.

         对于C++的掌握,不能要求绝对地掌握,何况C++并不是一门完全正确的语言,它也有它的缺陷.

总结:C++像汉语一样是一门语言,它定义了一个"符号与规则的结合",懂得了大部分的"符号"与"规则",就相当于学会了大部分的汉字与汉语语法,也就是懂得了C++语言.

   (一点愚见,欢迎拍砖指正,转载注明出处)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值