为了学c++而先学c的都是浪费时间!

我在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,其中booltruefalse都是宏 bool是关键字,是内置类型
复数类型 内置类型_Complex 标准库复数类std::complex
输入输出 输入输出函数(例如:printfscanf 输入输出流(例如:std::coutstd::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++?

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

猜你喜欢

转载自blog.csdn.net/acebdo/article/details/81835670