为什么不.cpp到ac程序文件?

Tri*_*k M 0 c c++ compilation

我已经读过大多数新的C++编译器都可以编译C和C++程序,并且还读取不要将扩展名.cpp用于C编程文件,以便通知编译器在C中编译.有什么区别" C编译"和"C++编译"使用C++编译器.当C程序被赋予扩展名.CPP并使用C++编译器编译时是否有任何问题?

给定一个带有C++约束的C程序(比如不使用typename,new,private,class等作为Identifiers),与C编译器相比,C++编译器使用.CPP扩展编译C程序有多么不同.

Mik*_*our 6

使用C++编译器在"C compile"和"C++ compile"中有什么区别.

每个都根据不同语言的规则解释源代码.一个将其解释为C,另一个解释为C++.

当C程序被赋予扩展名.CPP并使用C++编译器编译时是否有任何问题?

是.虽然C与C++的子集非常相似,但是有很多情况下有效的C不是有效的C++.例如,某些关键字在C++中保留,但不在C中保留:

int private = 42;
int class = 7;
Run Code Online (Sandbox Code Playgroud)

并且在C中允许某些类型转换但不允许使用C++

char * array = malloc(32);
Run Code Online (Sandbox Code Playgroud)

除此之外,如果你在讨论它正在编译的语言,那么它们中的任何一个都会导致C++编译器失败.