当前位置: 首页 > news >正文

能不能绕过c去学c++?

目前做工程开发,基本都是c/c++混着用的,c/c++是同源的,c++/是在c的基础上发展起来的,它们之间有些联系和区别:

区别:

1.可用库不同

c基本是系统底层语言,一般系统底层开发用c(例如,linux桌面操作系统和嵌入式操作系统),它主要用stdio.h,stdlib.h,string.h等头文件。

c++是对c的封装和继承,有许多非常好的库可用(例如,stl模板库)。

2.语法不同

c的语法比较简单和直接,更接近底层的计算机操作。c++在c的基础上增加了面向对象编程的特性,如类、继承、多态等。

3.面向对象编程

c不直接支持面向对象编程(只能用struct模拟),而c++是一种面向对象的编程语,c++通过类和对象的概念,提供了封装、继承和多态等特性,使得程序更易于组织、重用和维护。

4. 异常处理

c不直接支持异常处理机制,而c++提供了异常处理的机制,用于捕获和处理运行时的异常情况。

联系:

1. 共同的基础

c++是在c的基础上发展而来的,因此它们有许多共同的基础,如变量、数据类型、运算符等。

2. 兼容性

c++保持了对c的兼容性,可以使用c的代码,并且c++编译器可以编译c的代码。

3. 相似的编程风格

尽管c和c++在语法和特性上有所区别,但它们都鼓励使用结构化的编程风格,注重模块化和可读性。

4. 底层系统编程

c和c++都可以用于底层的系统编程,如操作系统、嵌入式系统等,因为它们提供了对硬件的直接访问和控制的能力。

总的来说,不用在学习c++前必须学习c语言,c++学习过程中,你会接触到c的大部分知识,按需去查。

如何有效学习:

1.勤学苦练

2.多实践,去做真正的工程开发,避免闭门造车

3.掌握数据结构等算法,方便你去掌握stl

4.掌握多线程编程和并行编程

必备参考:

推荐一些经典的c++学习书籍,应该对你有很大帮助,这也是我之前读过的。

1.《C++ Primer》

2.《C++ Primer Plus》

3.《Thinking in C++》

4.《Effective C++》

5.《Effective STL》

6.《More Effective C++》

7.《c++程序设计》

8.《c++并发编程实战》

9.《c++沉思录》

10.《c++语言的设计和演化》

11."c++标准"相关的文档

http://www.lryc.cn/news/320753.html

相关文章:

  • Python 小爬虫:爬取 bing 每日壁纸设为桌面壁纸
  • 利用textarea和white-space实现最简单的文章编辑器 支持缩进和换行
  • 总结mac下解决matplotlib中文显示问题的几种方法
  • 探索区块链世界:从加密货币到去中心化应用
  • GitLab/Github从头开始配置秘钥
  • uni.getlocation h5获取定位失败后,阻塞问题
  • Flutter 运行 flutter doctor 命令长时间未响应
  • 【数据挖掘】练习2:数据管理2
  • 【iOS】——Blocks
  • 体验OceanBase OBD V2.5.0 组件内扩容和组件变更
  • 关于前端的学习
  • DataX脚本告别手动编写,用大模型或Java代码自动生成
  • ASP.NET通过Appliaction和Session统计在人数和历史访问量
  • 在基于全志V851se的TinyVision上手动构建 Linux 6.1 + Debian 12 镜像
  • 使用jenkins-pipeline进行利用项目文件自动化部署到k8s上
  • unity发布安卓获取读取权限
  • VSCode下使用github初步
  • 华为设备配置命令大全
  • 详解基于快速排序算法的qsort的模拟实现
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(绘制组件:Polyline)
  • 项目风险管理
  • glib交叉编译
  • Android11实现能同时开多个录屏应用(或者共享屏幕或投屏时录屏)
  • 音视频实战---音频重采样
  • 主存中存储单元地址的分配
  • Python和R的区别是什么,Python与R的应用场景是什么?
  • azure databricks 常用的JDBC连接
  • 功能齐全的免费 IDE Visual Studio 2022 社区版
  • FreeRTOS入门基础
  • 蓝桥杯-24点-搜索