一种简捷的编程语言——C++语言

开发 后端
许多编程人员学习C++总结经验为,有的觉得C++语言是一门独立的语言,并不是在C语言的基础上,可以直接学习C++不必先从C下手。

作为比C语言更简捷的语言,C++语言提供了更好的机制来增强程序的安全性,C++编译器具有严格的类型安全检查功能,它几乎能找出程序中所有的语法问题,这点大大的帮助了开发人员。

据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是“成败悠关”的事。我们不要化太多精力试图发明世界上最好的命名规则,而应当制定一种令大多数项目成员满意的命名规则,并在项目中贯彻实施。

具备上述特征越多,越显得水平高,资格老。所以别奇怪,程序员的很多缺点竟然可以被当作优点来欣赏。就象在武侠小说中。那些独来独往、不受约束且带点邪气的高手最令人崇拜。我曾经也这样信奉,并且希望自己成为那样的“真正”的程序员,结果没有得到好下场。

我从读大学到博士毕业十年来一直勤奋好学,累计编写了数十万行 C++/C 代码。有这样的苦劳和疲劳,我应该称得上是编程老手了吧? 我开发的软件都与科研相关(集成电路 CAD 和 3D 图形学领域)。

动辄数万行程序,技术复杂,难度颇高。这些软件频频获奖,有一个软件获得首届中国大学生电脑大赛软件展示一等奖。在 1995 年开发的一套图形软件库到 2000 年还有人买。罗列出这些“业绩”,可以说明我算得上是编程高手了吧?

他虽然从未涉足过 3D 图形领域,却在几十分钟内指出该软件多处重大设计错误。让人感觉那套软件是用纸糊的华丽衣服,扯一下掉一块,戳一下破个洞。我目瞪口呆地意识到这套软件毫无实用价值,一年的心血白化了,并且害死了自己的软件公司。

人的顿悟通常发生在最心痛的时刻,在沮丧和心痛之后,我作了深刻反省,“面壁”半年,重新温习软件设计的基础知识。补修“内功”之后,又觉得腰板硬了起来。博士毕业前半年,我曾到微软中国研究院找工作,接受微软公司一位资深软件工程师的面试。他让我写函数 strcpy 的代码。

C++是个强大的语言,可以用于做别的语言做不了的工作。但是,这种强大功能是有代价的。开始使用C++语言时,你可能会遇到内存溢出和访问失效等问题,使程序死机。这里用最简短的篇幅介绍C++语言基础。

C++语言本身有专著介绍,这种书还特别厚,所以别指望我能用三言两语说清楚。读者学完本书并使用C++ Builder一般时间之后,最后对C++语言再作更深入的了解。 C++可以最充分地利用面向对象编程(OOP)的优势。

OOP不只是一个新名词,而有它的实际意义,可以生成可复用的对象。新术语 对象(object),和前面介绍的构件一样,是完成特定编程任务的软件块(构件是对象,但对象不全是构件,稍后会解释这点)。

对象只向用户(使用对象的编程人员)显示必须的部分,从而简化对象的使用。用户不必知道的所有内部机制都隐藏在幕后。这一切都包括在面向对象编程的概念中。OOP可以用模块化方法进行编程,从而避免每次从头开始。C++ Builder程序是面向OOP的,因为C++ Builder大量使用构件。

生成构件后(你生成的或C++ Builder内置的构件),C++语言就可以在任何C++ Builder程序中重复使用。构件还可以扩展,通过继承生成具有新功能的新构件。最妙的是,构件隐藏了所有内容细节,使编程人员能集中精力充分利用构件。

【编辑推荐】

  1. C与C++中标准输入实现方式上的一点区别
  2. C++编译器如何对Const常量进行分配存储空间
  3. C++类库设计的基本构思与方法
  4. 玩转C++语言的几种方法
  5. 如何更好的进行C++代码编制
责任编辑:chenqingxiang 来源: 清华大学出版社
相关推荐

2010-01-21 16:24:02

C++语言

2023-07-18 18:10:04

2012-11-01 13:41:25

编程语言BasicPerl

2018-08-21 13:50:05

编程语言JavaPython

2015-08-03 09:36:01

赛迪翻译

2015-08-31 09:27:21

语言界面UI

2018-03-12 13:32:02

编程语言程序员语言

2010-11-04 10:55:24

编程语言

2018-07-09 08:59:43

开发者技能C++

2013-03-12 14:07:06

Java编程

2012-03-14 11:46:30

ibmdw

2012-03-19 10:45:44

ibmdw

2020-07-10 10:48:51

编程语言JavaPython

2011-07-21 14:17:15

Ceylon

2010-01-15 17:38:37

C++语言

2010-01-11 09:40:02

C++语言

2019-07-19 15:21:00

SQL编程语言NOSQL

2010-01-13 15:51:44

C++编程语言

2016-01-06 10:06:17

编程语言工作选择

2010-01-20 17:23:03

C++编程语言
点赞
收藏

51CTO技术栈公众号