您的位置:首页 > 编程语言 > C语言/C++

C++印象

2011-09-13 15:35 295 查看
        我是一个程序界的菜鸟,但是并不妨碍我评论计算机语言。

        计算机程序运行,本质上是一组一组寄存器、内存和算术逻辑单元之间的电平变化,控制程序流程的是记录在存储点阵中的程序代码,直接翻译过来就是我们可爱的汇编语言,或者叫做机器语言,但是汇编语言晦涩难懂,又局限于硬件指令集,于是各种高级语言就应运而生了。高级语言语法更接近于实际生活(面向对象),更容易控制,也更安全,但是使用高级语言编写的程序执行效率肯定要低于编写良好的机器语言。其实这反映了一个成本的问题——机器时间比较珍贵的时代,机器语言无疑是更好的选择;而人员时间比较宝贵,编程周期一再缩短的时代,机器语言也就很少有人问津了。

        那么现在是一个什么时代?计算机的速度一直在变快,但是程序发展更加迅速,动辄几G几十G的大小,造就了一个个运行异常缓慢的软件,所以单靠高级语言,难以完全适应程序的需要,而C++就是一个既有高级语言特性又兼顾了内存,指针这样的低级语言操作的语言,我觉得可以称呼C++为中级语言,灵活,强大,但是难学,复杂。

        很多C++的使用,都要兼顾程序的运行速度。比如程序参数的传递,C++就提供了值传递、指针传递、引用传递几种,就是为了增加程序的执行效率;再比如基类定义引入virtual关键字可以定义虚函数,达到对象指针“智能化"的作用,当时我就想为什么C++语言设计者不把所有的类成员函数都隐藏定义成虚函数呢?这样C++就提升了(本应达到?)智能性,多么高级啊!C++之所以没有这么做,就是为了程序的执行效率,每个虚函数在对象实例化的时候都要新生成一个虚函数表,影响了程序的速度,所以需要程序设计者来控制是否使用虚函数!

        由此可见,C++给予了程序员更大的权利,同时也给了程序员更大的责任,能力越大,责任越大,说的就是这个道理吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 语言 汇编 c 生活 编程