对C 语言入门简介
创始人
2024-06-21 05:30:39
0

C++语言是建立在C语言至上的一门简单便捷的编程语言,C++语言的语法、特性、标准类库就已经是一门非常高深的课程,所以在开始学习的时候,必须要具备很强的谨慎态度和责任心。

像所有国家的议会或人民代表大会一样通过没完没了的会议、讨论和投票制定C++的国际标准。标准直到1998年9月才正式发布。在国际标准化组织的档案库里,C++标准的代号是ISO/IEC 14882:1998。

Stroustrup建议我们把标准C++当作一种全新的语言来学习[3]。这一说法显然是基于这样一个事实:标准C++语言已经拥有了一种稳定的、可以推广的语言风格,即,通过对STL等既有技术的肯定,ANSI/ISO委员会在1998年的标准中正式认可了包括模板、容器类、I/O流库、异常处理等典型语言特征的现代C++风格。

风格的稳定意味着语言本身的进步和成熟,也意味着程序员们对C++的认识必须上升到一个新的层次——那些至今还在编写仅由类和C语言库函数组成的C++代码的程序员,一定会成为Stroustrup及其同仁们的取笑对象的。

Stroustrup的《C++程序设计语言》第3版对标准C++风格做了最权威的阐释。在Stroustrup等专家学者的号召下,越来越多的项目开始编写符合标准C++风格的代码。这一点在许多开放源代码的项目中体现得特别明显。

这多半是由于,使用C++语言的开源项目大多都不会像大企业里的项目组那样,在语言风格上会受到公司背景或历史习惯的羁绊。在具体的编程实践中,开

例如,在OpenOffice的源码中,标识符的前缀规范就相当有特点,连指针和引用类型的变量都由不同的前缀字母区分;下面给出的Linux桌面管理器KDE 3.1.4的源代码片断则显示出,开发KDE的程序员在代码风格上或多或少受到了Java语言风格的影响:

  1. class delUser: public KDialogBase {  
  2. Q_OBJECT  
  3. public:  
  4. delUser(KUser *AUser, QWidget *parent = 0,  
  5. const char *name = 0);  
  6. bool getDeleteHomeDir()  
  7. { return m_deleteHomeDir->isChecked(); }  
  8. bool getDeleteMailBox()  
  9. { return m_deleteMailBox->isChecked(); }  
  10. private:  
  11. QCheckBox *m_deleteHomeDir;  
  12. QCheckBox *m_deleteMailBox;  
  13. };  

语言风格的变迁从一个侧面反映了技术思想和产业需求的嬗变规律。从1979年Stroustrup完成第一个Cpre预处理程序算起,C++语言来到这个世界上已经快满25个年头了。这是一种在实践中诞生、成长和发展起来的语言。也许,Stroustrup从一开始就压根儿也没想把它设计成像Smalltalk那样纯粹的面向对象语言。开放性、高效率、兼容性和扩展性的需求将C++语言塑造成了一种典型的多模式(Multiparadigm)语言。

无论是C++早期对Simula语言的继承,还是后来对Smalltalk、Ada、Clu等语言的借鉴,无论是ANSI/ISO标准风格的迅速普及,还是Visual C++ .NET在技术创新上的不懈努力,所有这些历史变迁都说明,C++在风格上的多样性主要源自C++语言本身“海纳百川”的胸襟和气概。

5年以后,当C++步入而立之年的时候,它会给我们带来新的惊喜吗?我们还会看到更加新奇的C++语言风格吗?也许,没有谁能给出准确的答案。但作为程序员,我们至少应该知道:无论面对什么样的软件需求。

无论使用什么样的思维方式,C++语言都赋予了我们选择语言风格的最大自由;当我们真正理解了C++语言的精神实质之后,这种自由也必将成为所有优秀软件和优雅代码的坚实基础。

【编辑推荐】

  1. 简介学习C++总结之谈
  2. 对C++库函数进行学习探索总结笔记
  3. C++类库设计的基本构思与方法
  4. C++语言真的还有市场价值?
  5. C++类库设计的基本构思与方法

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...