C++与C的关系:

C++(C plus plus),见名知意,C++是C的加强版,当然也是很大程度的兼容C的。

C++的新操作:(以下多数是与C对比)

命名空间:

namespace AA
{int n = 0;
}namespace BB
{int n = 8;
}

在定义全局变量时若有两变量名相同就会报错,当加上命名空间后就可以有效防止命名冲突;

当需要使用变量时可用    空间名+作用域符号+变量名

如:AA::n ----------> 0

BB::n ----------> 8

输入输出:

C++中既可以使用原来的 printf、scanf,也可以使用 cout、cin;

cout、cin用法:

cout << "哈哈哈\n"; <------------------> printf("哈哈哈\n");

cin >> a;                  <------------------> scanf("%(任意格式)",&a);

区别:

当使用printf、scanf时,我们往往需要看看需要什么类型的格式符,而cout、cin不区分这些;

引用:

用法:

数据类型  &新变量名 = 原变量名

int a = 5; int &b = a;

如上:最后a,b的值都为5;

实际上引用的操作就是给变量a的空间起了个别名叫b,两个变量使用的是同一片空间;

函数重载:

假定我需要子函数帮我算加法,那么用C时这样做

int addtwo(int a,int b)//两数和
{return a + b;
}int addthree(int a,int b,int c)//三数和
{return a + b + c;
}

像这样要用同样的功能,但是因为参数个数不同,我就得记下很多种函数名字,鸭梨山大;

在C++中可以这样:

int add(int a,int b)//两数和
{return a+b;
}int add(int a,int b,int c)//三数和
{return a+b+c;
}

虽然在定义时会有多个函数重名,但在编译时会对每个函数重载(根据参数重命名),这样在使用一类功能时仅记住一个函数名即可。

堆区空间的申请与释放:

在C中使用 malloc 与 free, C++中提供 new 和 delete

//申请一个int 的空间
int *p = (int *)malloc(sizeof(int));
free(p);int *p = new int;
delete p;//申请10个int 的空间
int *p = (int *)malloc(sizeof(int) * 10);
free(p);int *p = new int[10];
delete []p;

由上可以看出:使用malloc时需要对申请的空间进行强制类型转换且需要计算空间的大小,new不需要;

菜鸟成长记录【3】C++学习(一)相关推荐

  1. STM32菜鸟成长记录---系统滴答定时器(systick)应用

    1.systick介绍 Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断).滴答中断?这里来简单地解释一下.操作系统进行运转的时候 ...

  2. STM32菜鸟成长记录——移植FreeModbusRTU

    本文章用于记录学习RS485及配置Modbus协议 参考博文: FreeModbus移植文章1 FreeModbus移植文章2

  3. 如何从菜鸟成长为高手!

    如何从菜鸟成长为高手!!这的确是一个很难回答的问题,但我总结出了答案:不断学习.积极学习:不断思考.积极思考.肯定会有人问为什么是这么简单的16个字.请往下看. 首先,什么样的人叫菜鸟?本意上是指对电 ...

  4. 《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——第1章 系统•嵌入•硬件 01-01 Welcome on board!...

    本节书摘来自异步社区<嵌入式系统开发之道--菜鸟成长日志与项目经理的私房菜>一书中的第1章,第01-01节,作者 邱毅凌,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  5. 《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——02-04项目范围(Scope)管理...

    本节书摘来异步社区<嵌入式系统开发之道--菜鸟成长日志与项目经理的私房菜>一书中的第2章,第2.4节,作者:邱毅凌,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  6. 《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——01-05 基本职能:老鸟也曾是菜鸟...

    本节书摘来自异步社区<嵌入式系统开发之道--菜鸟成长日志与项目经理的私房菜>一书中的第1章,第01-05节,作者 邱毅凌,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  7. 基于JAVA小学生素质成长记录平台计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA小学生素质成长记录平台计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA小学生素质成长记录平台计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S ...

  8. 一个小白的Thingworx成长记录

    一个小白的Thingworx成长记录 这个为开发平台的主界面,在随后的文章中会逐步进行讲解每个部分的功能 Thingworx是什么 对一名开发人员来说,代码是底层,那么Thingworx就是产品,一个 ...

  9. 计算机毕业设计ssm儿童成长记录与分享系统cc35g系统+程序+源码+lw+远程部署

    计算机毕业设计ssm儿童成长记录与分享系统cc35g系统+程序+源码+lw+远程部署 计算机毕业设计ssm儿童成长记录与分享系统cc35g系统+程序+源码+lw+远程部署 本源码技术栈: 项目架构:B ...

最新文章

  1. 程序员食品营养(1)-面包基础
  2. GIS创新实践【实验1】郑州市地图制作与发布
  3. LeetCode Algorithm 572. 另一棵树的子树
  4. 【斜率优化】玩具装箱(luogu 3195)
  5. ArrayList基操
  6. 前端笔记-JavaScript中放json数组要注意的地方(构造灵活的echarts)
  7. ssh整合,明明已经导入包,却总是有很多ClassNotFoundException
  8. 计算机英语句子及翻译,英文的唯美句子带翻译 最火英文句子带翻译
  9. 深度xp系统插入光盘显示上一张光盘资料解决方法
  10. Java一组数据,满足数量和求和的最优解
  11. WARNING: There was an error checking the latest version of pip.
  12. 2022-2027年中国机动车检测行业发展前景及投资战略咨询报告
  13. Android添加手机黑名单,手机来电拦截实现详解与Demo,一个不错的练手项目,涵盖Android四大组件。
  14. CVPR 2022 部分行人重识别
  15. 百度信息流是什么?哪些行业适合投放百度信息流?
  16. 计算机高级搜索文章内容,外文信息计算机检索
  17. Vue3PDF预览(vue3-pdf-app)
  18. element若依 菜单点击改变背景色
  19. vivado时序约束
  20. Android 入门第二讲03-约束布局ConstraintLayout(可视化介绍,Chains链,MATCH_CONSTRAIN,百分比布局,圆形定位,Guideline,Barrier)

热门文章

  1. 深入解析消息推送平台的设计原理,百万门店同时推送消息是如何实现的?
  2. 无法找到该wins服务器的解决办法
  3. 【MapReduce】分布式计算框架MapReduce
  4. ubuntu查看eigen版本
  5. Openstack的ipv6网络
  6. 快速了解SDK和API的区别
  7. 【计算机毕业设计】列车票务信息管理系统
  8. 生物信息学【1】:cBioPortal数据库
  9. c语言编程输出100以内所有6的倍数的数,第8天学C语言(一点练习,例如打印1~100之间所有3的倍数的数字)...
  10. 研究生论文开题报告技巧分享