我在c++吧看到一些培训机构的广告,课程安排差不多长这样:

* c语言入门
* c语言精通
* c++入门
* c++精通
* 实际应用、等。。。

不吐槽这个课程安排是否真的能“精通”,也不谈后面的实际应用,培训机构所安排的前4项课程似乎在说学习c++之前要先学c。同时也有很多零编程基础,想通过c++踏入编程世界的新人们在了解了c和c++的关系后也在疑惑着是否需要先学c。那么,学c++之前真的需要先学c吗?


先说一下c和c++的关系。最早的c++确实继承于c,在c的基础上添加一些特性,导致早期的c++被命名为“带类的c”。但是到了现在,c和c++已经是2种完全不同的编程语言,各自独立,互不相关。我就举一些例子说明c和c++都有但不同之处:

功能 c c++
布尔类型 内置类型_Bool,其中bool、true、false都是宏 bool是关键字,是内置类型
复数类型 内置类型_Complex 标准库复数类std::complex
输入输出 输入输出函数(例如:printf和scanf) 输入输出流(例如:std::cout和std::cin)
泛型编程 泛型选择表达式_Generic 模板template
原子操作库 <atomic.h> <atomic>
线程支持库 <thread.h> <thread>
c和c++的区别不局限于此表,以后的差异会越来越大。对于初学者而言,同时学c和c++这2种很相似的语言容易引起混淆,更不要说同时精通。


如果你要说c和c++还有一些相似之处,学习c方便以后学c++。那么我直接反问:java、c#之类的语言和c也有相似之处,为什么学习这些语言之前不先学c?相对于c而言,java、c#与c++更相似,为什么不先学c++?

编程语言都有相似之处,为了学一种语言而先学另外一种语言的做法,就是我在标题所说的浪费时间。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信