首页 C与C++基础之解答C与C++常见误区

C与C++基础之解答C与C++常见误区

举报
开通vip

C与C++基础之解答C与C++常见误区 C 与 C++基础之解答 C 与 C++常见误区 在本文开始之前,建议大家看看这一篇文章,也是介绍误区方面的知识的,《介绍 ThreadLocal 的几种误区》,供参考。下面介绍给大家 C/C++ 常见误区: 1. C++虽然主要是以 C的基础发展起来的一门新语言,但她不是 C 的替代品,不是 C 的 升级,C++和 C 是兄弟关系。没有谁比谁先进的说法,更重要 的一点是 C和 C++各自的标 准委员会是独立的,最新的 C++标准是 C++98,最新的 C标准是 C99.因此也没有先学 C 再 说 C++的说...

C与C++基础之解答C与C++常见误区
C 与 C++基础之解答 C 与 C++常见误区 在本文开始之前,建议大家看看这一篇文章,也是介绍误区方面的知识的,《介绍 ThreadLocal 的几种误区》,供参考。下面介绍给大家 C/C++ 常见误区: 1. C++虽然主要是以 C的基础发展起来的一门新语言,但她不是 C 的替代品,不是 C 的 升级,C++和 C 是兄弟关系。没有谁比谁先进的说法,更重要 的一点是 C和 C++各自的标 准委员会是独立的,最新的 C++ 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 是 C++98,最新的 C标准是 C99.因此也没有先学 C 再 说 C++的说法,也不再(注意这 个"不再")有 C++语法是 C 语法的超集的说法。 2. C++/CLI 和 C# 是微软的,它们与 C 和 C++没有任何关系,虽然部分语法相似。但 哪两种语言不相似呢?都是 abc 这 26个字母。 3. 不要使用 TC/TC++/BC/CB 等古老的编译器来学习 C/C++,因为它们太古老了,不支 持新的 C/C++标准。不要使用 CBX/VC++ 6.0/VC2005 等对 C/C++标准支持不好的编译器, 虽然这些编译器适合工作,但不适合学习,因为它们中的语法陷阱很多。记住唯一适合学习 的编译器是 gcc/mingw.[antigloss注:Dev-C++ 使用的编译器就是 gcc & g++] 4. 不要用""代替<>来包含系统头文件,虽然有些编译器允许你这样做,但它不符合 C/C++标准。 错误的示例:#include "stdio.h",#include "iostream".[antigloss注:习惯上,<> 用于包 含标准头文件和系统头文件,"" 用于包含自定义头文件。标准似乎没有明确规定不准用 "" 包含标准头文件和系统头文件。使用 "" 包含标准头文件或者系统头文件只能说是一种不良 风格。] 5. 不要将 main 函数的返回类型定义为 void,虽然有些编译器允许你这样做,但它不符 合 C/C++标准。不要将函数的 int 返回类型省略不写,在 C++中要求编译器至少给一个警告。 错误的示例:void main() {},main() {} [antigloss注:C99 和 C++98都要求编译器对 省略 int 至少发出一个警告] 6. 不要把VC++中的 #include "stdafx.h" 贴出来,它是预编译头文件。如同上菜时不要 把厨师也放到托盘中。 7. [C++]不要#include ,不要#include ,因为它们已经被 C++标准 明确的废弃了,请改为 #include 和 #include .规则就是: a. 如果这个头文件是旧 C++特有的,那么去掉。h 后缀,并放入 std名字空间,比如 iostream.h 变为 iostream. b. 如果这个头文件是 C 也有的,那么去掉。h后缀,增加一个 c前缀,比如 string.h 变 为 cstring;stdio.h 变为 cstdio, 等等。 BTW:不要把 string、cstring、string.h三个头文件搞混淆 BTW:windows.h不是 C/C++的标准文件,因此它的命名 C/C++不管。 8. 不要再写 char* p = "XXX" 这种语句,要写成 const char* p = "XXX",编译器之所 以让前者通过编译是为了兼容以前 的大量的旧代码。[antigloss 注:这段话对 C++ 而言是 正确的。但是,目前的 C99 标准似乎并没有定义 "XXX" 一定是常量。] BTW:const TYPE* p 和 TYPE const* p 是一样的,风格不同而已。 BTW:C 语言中也有 const关键字。 9. 不要在同一条语句中包含一个变量的多个++/——,因为它们的解析在 C/C++标准中 没有规定,完全取决于编译器的个人行为。 10. C/C++ 是平台无关性语言,因此系统相关的 process/GUI 等不在标准 C/C++ 库中。 比如 graphics.h 和 windows.h 等是由某个编译器提供的,而不是由 C/C++ 提供的。 11. C/C++只是语言,而且是平台无关性语言。论坛上有部分人甚至认为 C 就是 dos, C++就是 windows,那么请问 linux是什么? 12. [C++]面向对象曾经是设计 C with class(C++的前身)的主要目的,但 C++不是, C++是一个多典范语言。主要支持过程调用、基于对象、面向对象、泛式编程这四种编程典 范。当然还支持 functional, generative,metaprogramming等典范。 13. 语法学家不是文学家,所以当你学会了一门计算机语言时,你还需要学习数据机构 和算法,还需要掌握工具和平台API 的用法。 14. C/C++ 是通用语言,因此语法很复杂,你应当裁减成适合你自己的语法集合,比如 裁减成 better C 和 ADT. 15. C/C++是通用语言,因此只含通用的库,你应该丰富自己需要的库,比如汽车工业 协会有自己的 C/C++函数/类/模板库。 本文介绍了 C/C++中十五个常见的误区,希望对你有帮助。
本文档为【C与C++基础之解答C与C++常见误区】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_117578
暂无简介~
格式:pdf
大小:101KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2012-10-02
浏览量:13