C++与C的区别

1、C++不允许出现多个同名的全局变量

2、C中const修饰的变量可以通过指针修改
3、C语言:NULL,C++中:nullptr

C语言中NULL通常是0值,只报警告

C++中nullptr的左值一定得是指针类型

4、C++新增“引用”

引用:取别名  

数据类型+&+变量名

例:给a取别名为b,a与b表示同一片内存空间。

int a = 5;

int &b = a;

用途:函数的传参、函数的返回值

函数的传参:形参(引用)可以改变实参的值

优点:不需要新开辟空间,使用指针需要新开辟空间存储指针变量。

函数的返回值:int &a = b;

5、C++新增函数重载

函数名相同,函数参数的个数不一样/函数参数的类型不一样。

6、C++新增默认参数

默认参数从右往左设置,函数传参从左往右传。

默认参数与函数重载可能存在歧义

7、输入输出不同

<iostream>头文件

C++:输入cin输出cout

<stdio.h>头文件

C:输入scanf输出printf

8、强制类型转换

C:(类型名)表达式;

(int)a;

C++:表达式(类型名);

a(int);

9、C++新增内联函数

inline 存储类型 数据类型 函数名(形参列表)

优化,提供效率,在编译时将调用函数的代码直接嵌入到主调函数中,这种嵌入到主调函数中的函数称为内置函数(内嵌函数/内联函数)。

内联函数的声明和定义都在头文件中。

内联函数使用一般为5个语句以下,不能包括复杂语句,如循环和switch语句。

10、结构体不同

面向对象:属性、行为

如小明      属性:身高、体重        行为:动作(函数)

C语言是面向过程的编程;C++是面向对象的编程。

C语言也可以有面向对象的思维编程,只不过比较麻烦,依靠结构体实现。C语言结构体不能存函数,可以存函数指针。

C++结构体中可以直接存放函数

C++中结构体新增了被访问权限的概念,关键字为public(公有)、protected(受保护的)、private(私有的),并且拥有this指针

C++中结构体使用较少,结构体升级后为class(类),class拥有结构体所有功能。

11、作用域

C:局部域、全局域

C++:局部域、全局域、类域、名字(称)空间域

名字空间域:防止多人开发时使用相同名字的函数、变量,所以使用不同的名字空间以区分。

类域

12、堆区开辟空间

C:malloc free(函数)

C++:new  delete  (关键字)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/395435.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java常用应用程序编程接口(API)——Object类概述及常用方法

前言&#xff1a; Object是一个非常重要的语句&#xff0c;整理下心得。打好基础&#xff0c;daydayup! Object类 什么是Object类&#xff1f; Object类是java中所有类的最终类。每一个类都默认继承Object类&#xff0c;因此java中的所有类中的对象都可以直接使用Object类中提…

产品经理学习-产品运营《流程管理》

如何进行流程管理 信息可视化 甘特图-流程管理思维导图-方案讨论原型图-活动文档 明确责任制 分工明确&#xff0c;关键环境有主负责人通过时间倒推督促管理 沟通技巧 明确共同利益以结果激励做好信息同步 如何进行监控活动效果 监控活动的效果是要监控数据 活动每个环境的…

详解4大C语言内存函数【超详细建议点赞收藏】

目录 1. memcpy----内存拷贝1.1 函数介绍1.2 函数使用1.3 模拟实现 2. memmove----重叠内存的数据拷贝2.1 函数介绍2.2 函数使用2.3 模拟实现 3. memcmp----内存比较3.1 函数介绍3.2 函数使用 4.memset----内存设置4.1 函数介绍4.2 函数使用 注意&#xff1a;以下4个内存函数在…

Rocky Linux网卡静态配置

一、开源系统 Rocky Linux 下载安装 1、安装教程 Rocky Linux 下载安装 二、远程工具 MobaXterm下载安装 1、安装教程 MobaXterm 下载安装 三、Rocky Linux 网卡配置 1、使用ip addr确认网卡名称&#xff08;此处可得知网卡为ens160&#xff09; [rootlocalhost ~]# ip a 1:…

蓝桥杯每日一题----单调栈和单调队列

单调栈和单调队列 单调栈 单调栈即栈内的元素是单调递减或者单调递增的&#xff0c;我们通过一个题目来理解。 单调栈模板题 题目描述 给出项数为 n 的整数数列 a 1 … a n a_1…a_n a1​…an​。 定义函数 f ( i ) f(i) f(i)代表数列中第 i 个元素之后第一个大于 a i …

13.Qt 文件的读和写,样式表文件的读用

目录 前言&#xff1a; 技能&#xff1a; 内容&#xff1a; 1. 界面 2.信号槽 ①浏览按键 ②保存按键 ③加载样式按键 参考&#xff1a; 前言&#xff1a; 上一篇文章说明了如何弹窗选取文件并在Qlabel中显示文件内容 12.QT文件对话框 文件的弹窗选择-QFileDialog 这篇…

HTML 入门指南

简述 参考&#xff1a;HTML 教程- (HTML5 标准) HTML 语言的介绍、特点 HTML&#xff1a;超级文本标记语言&#xff08;HyperText Markup Language&#xff09; “超文本” 就是指页面内可以包含图片、链接等非文字内容。“标记” 就是使用标签的方法将需要的内容包括起来。…

星纪魅族宣布 All in AI;欧盟将首次对苹果处以罚款丨 RTE 开发者日报 Vol.146

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

世界顶级名校计算机专业,都在用哪些书当教材?(文末送书)

目录 01《深入理解计算机系统》02《算法导论》03《计算机程序的构造和解释》04《数据库系统概念》05《计算机组成与设计&#xff1a;硬件/软件接口》06《离散数学及其应用》07《组合数学》08《斯坦福算法博弈论二十讲》参与规则 清华、北大、MIT、CMU、斯坦福的学霸们在新学期里…

洛谷 P6546 [COCI2010-2011#2] PUŽ

讲解&#xff1a; 首先还是正常输入&#xff1a; int a,b,v; cin>>a>>b>>v; 然后经入一个函数num&#xff1a; cout<<num(1.0*(v-a),(a-b))1<<endl; 之所以要乘以1.0是因为要向上取整&#xff01;而这个num函数的两个参数则是“蜗牛白天爬了多…

python统计分析——一元线性回归分析

参考资料&#xff1a;用python动手学统计学 1、导入库 # 导入库 # 用于数值计算的库 import numpy as np import pandas as pd import scipy as sp from scipy import stats # 用于绘图的库 import matplotlib.pyplot as plt import seaborn as sns sns.set() # 用于估计统计…

多线程系列(一) -线程技术入门知识讲解

一、简介 在很多场景下&#xff0c;我们经常听到采用多线程编程&#xff0c;能显著的提升程序的执行效率。例如执行大批量数据的插入操作&#xff0c;采用单线程编程进行插入可能需要 30 分钟&#xff0c;采用多线程编程进行插入可能只需要 5 分钟就够了。 既然多线程编程技术…

GpuMall智算云平台:计费说明

1. 充值​ 当前GpuMall支持在线充值或者对公汇款。 选择在线充值时&#xff0c;填写或选择要充值的金额&#xff0c;推荐充值300元&#xff0c;可直接成为会员享受95折优惠。 点击下一步 在线体验入口&#xff1a;GpuMall智算云 | 省钱、好用、弹性。租GPU就上GpuMall 手机…

如何在三维地球上加载obj、fbx、ifc、dae、3ds、gltf/glb模型?

通过以下方法可以在三维地球上加载obj、fbx、ifc、dae、3ds、gltf/glb模型。 方法/步骤 下载三维地图浏览器 http://www.geosaas.com/download/map3dbrowser.exe&#xff0c;安装完成后桌面上出现”三维地图浏览器“图标。 2、双击桌面图标打开”三维地图浏览器“ 3、点击“…

全网最详细的从0到1的turbo pnpm monorepo的前端工程化项目[vitePress篇]

全网最详细的从0到1的turbo pnpm monorepo的前端工程化项目[vitePress篇] 前言选型为什么选择VitePress安装VitePress运行优化默认UI使用自定义UI编辑自定义布局编写home页面组件编写page页面组件 结语 前言 一个好的工程化项目&#xff0c;必然有一个好的文档管理&#xff0c;…

【复现】Panalog大数据日志审计系统 RCE漏洞_51

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 Panalog大数据日志审计系统定位于将大数据产品应用于高校、 公安、 政企、 医疗、 金融、 能源等行业之中&#xff0c;针对网络流…

秒级到毫秒级的跨越—一次慢SQL优化历险

一次慢 SQL 优化过程 一、背景 对于公司内部的一个发票管理系统&#xff0c;财务人员经常需要对发票的开票交易进行查询&#xff0c;这里涉及到两张表&#xff1a;发票订单表和发票信息表&#xff0c;我们需要查询订单 ID、开票 APP、开票主体、订单类型、支付渠道、支付总额…

Linux系统安全:安全技术和防火墙

目录 一、安全技术和防火墙 1.安全技术 2.防火墙的分类 二、防火墙 1.iptables四表五链 2.黑白名单 3.iptables基本语法 4.iptables选项 5.控制类型 6.隐藏扩展模块 7.显示扩展模块 8.iptables规则保存 9.自定义链使用 一、安全技术和防火墙 1.安全技术 入侵检测系…

AMD FPGA设计优化宝典笔记(5)低频全局复位与高扇出

亚军老师的这本书《AMD FPGA设计优化宝典》&#xff0c;他主要讲了两个东西&#xff1a; 第一个东西是代码的良好风格&#xff1b; 第二个是设计收敛等的本质。 这个书的结构是一个总论&#xff0c;加上另外的9个优化&#xff0c;包含的有&#xff1a;时钟网络、组合逻辑、触发…

在ubuntu20.04 上配置 qemu/kvm linux kernel调试环境

一&#xff1a;安装qemu/kvm 和 virsh qemu/kvm 是虚拟机软件&#xff0c;virsh是管理虚拟机的命令行工具&#xff0c;可以使用virsh创建&#xff0c;编辑&#xff0c;启动&#xff0c;停止&#xff0c;删除虚拟机。 &#xff08;1&#xff09;&#xff1a;安装之前&#xff0c…
最新文章