C++在多方面不统一,与其他语言有何差异?

C++

1个回答

写回答

罗鑫鑫鑫

2026-02-11 08:40

+ 关注

Java
Java

命名约定缺乏统一性。在简单单词的分隔方面,有的人会使用下划线_,有的人采用连字符 - ,还有的人运用大小写的方式。而在其他语言中,像Java、Kotlin、Swift、Dart等有着小写驼峰这种命名约定。源代码的后缀名也不统一。C++源代码常见的后缀有.cpp、.cc、.cxx、.c、.C、.C++、.CPP、.cp等,而其他语言如JavaSwift、Dart、Go等各自有着不同的源码后缀。编译器前端也不统一。C++目前使用的编译器前端有Clang、MSVC++、GCC,其他语言如JavaJavac、SwiftSwiftc、Kotlin有Kotlinc、Scala有Scalac、Groovy有Groovyc等。不同的编译器之间互不兼容(ABI兼容方面),每个编译器甚至每个类库都存在自己特有的内容。C++内部之间的差异,甚至比C++Java之间的差异还要大,C++至少应该细分为MSVC++、Clang下的C++以及GCC下的C++。其他语言如JavaGoogle安卓上所谓的Java只是用了个叫做Java的API,叫Java却又不兼容Java,这有点说不过去。标准库命名混乱,每个字母和单词单独看都认识,组合在一起却让人不知所云,例如在Java等其他语言中也存在这种情况。符号混乱,并且操作符可以重载。这是C++版本的Hello World,而这是其他语言(如Java)的Hello World。再比如,下面是完全合法且能通过编译的C++(20)代码。对于C++,直观的类比就像是老外编程界的谭浩强所著的C语言程序设计。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号