0.0C++和C的区别
C++和C的区别
C++如今是一个同时支持面向过程、面向对象、函数形式、泛型形式、元编程形式的语言。我们该如何理解C++这门语言呢?
Effective C++书中给出了一个简单的方法:将C++视为一个由相关语言组成的语言联邦而非单一语言。 在C++每个次语言中,遵守各自的次语言守则。
主要有以下4个次语言:
①C。 C++是以C语言为基础。 区块、语句、预处理器、内置数据类型、数组、指针等都来自于C。但如果你要以C++内的C成分工作时,C语言要遵守高效的编程守则,即:不能使用模板、不能使用函数重载、没有异常….这也是C语言的局限性所在。
②面向对象(Object-Oriented C++)。 早期的C++就是C加上一些面向对象的特性即**(C with classes)。**这部分是C with classes所诉求的:构造函数、析构函数、封装、继承、多态、virtual函数(动态绑定)…这是面向对象设计的守则。
③泛型编程(Template C++)。
④STL。 STL是个template的程序库。它对容器、迭代器、算法以及函数对象的规约有极佳的紧密配合与协调。
那么C语言和C++的区别就很明显了:
- C语言是C++的子集,C++可以兼容C语言。
- C++是面向对象编程的语言,而C语言是面向面向过程的语言。
- C++可复用性高,引入了模板的概念,并且在此基础上开发了STL模板库,相对于C语言的函数库更加灵活、通用。:
0.0C++和C的区别相关推荐
- http与https的区别,http 1.0与1.1的区别
Http与Https的区别: HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头 HTTP 是不安全的,而 HTTPS 是安全的 HTTP 标准端口是80 , ...
- VC++6.0和VC++2010的区别
VC6.0和VS2010最大的区别在于默认的字符集,VC6.0默认的字符集为ANSI,而VS2010默认的字符集为UNICODE. 这就造成了,VC6和VS2010在处理字符问题上的不同. 首 ...
- 使用 okHttp 3.0 版本前后的两点区别.(不要入坑哦)
OkHttp 优点: OkHttp会从很多常用的连接问题中自动恢复.如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,会自动尝试下一个IP.OkHttp还处理了代理服务器问题和SSL握手失 ...
- vue2.0 $router和$route的区别
转载自 vue2.0 $router和$route的区别 在vue2.0里页面参数是 this.$route.query或者 this.$route.params 接收router-link传的参数 ...
- [vb]On Error GoTo 0和On Error resume区别
On Error GoTo 0 表示禁止当前过程中任何已启动的错误处理程序. On Error Resume Next 说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运 ...
- 简述raid 0 1 5 10的区别
简述raid 0 1 5 10的区别 一.RAID卡概述 1.DELL阵列卡(RAID卡) RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立 ...
- CSS中z-index:0 与 z-index:auto的区别
z-index:0 与 z-index:auto的区别 区别: z-index: 0 会创建一个新的层叠上下文 z-index: auto 不会去创建 z-index: 0 会在 z-index: 上 ...
- Pytorch:.max(0)和.max(1)的区别?
Pytorch 中.max(0)和.max(1)的区别是什么? 当我们有一个形状为 ( m , n ) (m, n) (m,n) 的 Tensor x x x 时,其中 m m m 表示行数, n n ...
- python中return0与return1_关于C++中的return 0和return 1的区别
展开全部 return 0和return 1的区别主要体现在不同退出状态等方面,详细解释如下: 1.两e69da5e887aa62616964757a686964616f31333366306531者 ...
最新文章
- pytorch几种损失函数CrossEntropyLoss、NLLLoss、BCELoss、BCEWithLogitsLoss、focal_loss、heatmap_loss
- python怎么调出某年某月日历_Python 写的计算指定年指定月日历的脚本
- zcmu 1128 (数据处理)
- 【使用指南】WijmoJS 前端开发工具包
- Virtio: An I/O virtualization framework for Linux
- 现代ups电源及电路图集_不间断电源维修,服务靠谱
- Jarvis Oj Pwn 学习笔记-level0
- adaboost java_Adaboost的java实现 | 学步园
- C++ 从函数参数中获取指针 指针传递
- Scrum立会报告+燃尽图(十月二十三日总第十四次)
- 网络安全实验5 证书应用和证书管理
- java咖啡机_JAVA咖啡机2010款
- 使用matplotlib绘制xkcd风格的图表(解决中文字体问题)
- ElastSearch整合SpringBoot模仿京东商城实现关键字高亮显示
- 宽带猫拨号报错651,虚惊一场
- 有趣的转义字符,常见转义字符大全,转义字符速查手册 Escape character
- 100个网络基础知识
- java--获取当前时间
- 区块链论文7(oyente智能合约漏洞检测工具)
- 《浪潮之巅》作者吴军万字长文:中国算力的危与机
热门文章
- 软件工程凉了?很多大学撤销软工硕士学科!
- Matlab 中保存运行的m文件
- 组策略(GPO)利用与横向移动
- 二十三、1-Bit数据的存储(延迟线/磁芯/DRAM/SRAM/磁带/磁盘/光盘/Flash SSD)
- 在使用uglify是出现:.pipe(uglify()) SyntaxError:Unexpected token .
- SSM实现登录注册的小案例(手把手喂饭)
- 2d有限元计算机仿真,超精密单点金刚石车削加工有限元仿真
- LayUI前端框架的安装和引入
- Linux中DNS的分离解析和自动分配
- 4阶经典龙格库塔格式