当前位置:天才代写 > tutorial > C语言/C++ 教程 > C/C++的常见误区

C/C++的常见误区

2017-11-03 08:00 星期五 所属: C语言/C++ 教程 浏览:445

1. C++固然主要是以C的基本成长起来的一门新语言,但她不是C的替代品,不是C的进级 ,C++和C是兄弟干系。没有谁比谁先进的说法,更重要 的一点是C和C++各自的尺度委员会是 独立的,最新的C++尺度是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 <iostream.h>,不要#include <string.h>,因为它 们已经被C++尺度明晰的废弃了,请改为 #include <iostream>和#include <cstring>.法则就是:

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++函数/类/模板库。

 

    关键字:

天才代写-代写联系方式