现代的编译器都是C/C++编译器,没有纯粹的C编译器(Turbo C 2.0才是纯粹的C编译器),带着C++字眼的都是C与C++通用的编译器,当你用参数(或源代码文件后缀为.c)指定时,编译器才使用C语法进行编译,否则通常情况下它用C++语法编译程序。注意:C++完全兼容C,并不需要刻意使用C语法编译,这就是现代编译器都是混合编译器的原因。
现代的编译器都是C/C++编译器,没有纯粹的C编译器(Turbo C 2.0才是纯粹的C编译器),带着C++字眼的都是C与C++通用的编译器,当你用参数(或源代码文件后缀为.c)指定时,编译器才使用C语法进行编译,否则通常情况下它用C++语法编译程序。注意:C++完全兼容C,并不需要刻意使用C语法编译,这就是现代编译器都是混合编译器的原因。
C++兼容C,是其优势同时也是劣势,正所谓成也萧何败也萧何,C++语法之所以复杂臃肿、古怪离奇,也是拜兼容C所赐。实际上,C++之父也承认这个本质特性令他很烦恼(他自己诅咒C陋习的言论可不少),但由于这又是C++的立身之本,所以也毫无办法。