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

C++源程序的构成————学习笔记

以下内容为,在学校上课时的课堂总结,偶尔我也会扩展一些内容
内容仅供参考,欢迎大佬的指正

简单的C++程序

#include <iostream>
using namespace std;int main()
{int x=0;int y = 0;cout << "请输入x,y的值"<<endl;cin >> x >> y;int z = x + y;cout << "x+y=" << z << endl;return 0;
}

C++与C语言的输入输出流的比较

自定义类型可直接作为类型名

在C++中我们利用结构体创建结构体变量时,我们可以直接用结构体的标签创建
在C中我们创建结构体变量,我们不可以利用结构体标签创建变量,我们创建变量还需要,加上struct

const修饰符

在C中我们常常用#define来定义常量,但是#define没有计算功能,定义的常变量存在不安全性

比如上方的程序我们的define不存在计算的功能

M*2执行的是20+10*2=40

在我们C++中引入const修饰符修饰常变量来解决这个问题

const 与指针一起使用

指向常量的指针

const char*p="hello";
使用了const修饰,p里面的内容不可以改变,这种指针叫做指向常量的指针

上面图片的操作是不允许的

那么指向常量的指针可以进行什么操作呢

指向常量的指针,我们可以修改指针指向的地址,即改变里面全部的内容

常指针

char* const p="hello";
常指针里面的内容可以修改,但是指针的地址不可以改变,即我们不能改变指针指向的地址
我们来看看具体的操作

常指针可以改变里面的值

常指针不可以修改指针的地址

指向常量的常指针

const char* const p="hello";
指向常量的常指针,里面的元素不能修改,而已指针的地址也不可以修改

内联函数

在函数说明前冠以关键字“inline”,改函数就被声明为内联函数,又称内置函数。每当程序中出现对该函数1的调用时,C++编译器使用函数体中的代码插入到该函数的语句处,同时用实参取代形参,以便程序运行不再进行函数调用。
为什么要引入内联函数?这主要是为了消除函数调用时的系统开销,以提高运行速度。

我们所以函数都使用内联函数对吗?这个想法是不正确的,内联函数只能用于简单的函数(一般1~5行程序),如果函数体有for switch语句一般不能使用内联函数,如果一个复杂函数定义为内联函数,反而史程序的代码增大,增加开销。
我们一般将,短小的语句,又频繁使用的语句定义为内联函数

带默认参数的函数

带默认参数函数的优势,我们实参和形参的类型数量可以不相等,比如上面代码,我们传10,20也能成功运行

如果函数的形参不带默认参数则不能运行

注意:我们函数形参带默认值,后面的类型也需要带默认值,不然很容易报错

我们进行函数声明的时候需要将默认值带上

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

相关文章:

  • Spark Catalyst
  • element 远程搜索下拉加载
  • 空间复杂度与顺序表的具体实现操作(1)
  • 【springmvc】Rest ful风格
  • 华为OD机试真题Python实现【用户调度】真题+解题思路+代码(20222023)
  • JavaSE学习笔记总结day19
  • FreeSql使用
  • Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
  • UE4 材质学习 (焚烧材质)
  • 【c++】STL常用算法2—常用查找算法
  • 史上最全最详细的Java架构师成长路径图,程序员必备
  • 第五章 事务管理
  • Redis:主从同步
  • Unity Animator.Play(stateName, layer, normalizedTime) 播放动画函数用法
  • python学习——【第三弹】
  • 科技云报道:AI大模型背后,竟是惊人的碳排放
  • 如何根据实际需求选择合适的三维实景建模方式?
  • CENTO OS上的网络安全工具(十八)ClickHouse及编程环境部署
  • Java中class文件的格式
  • C++排序算法
  • JAVA后端部署项目三步走
  • php使用zookeeper实现分布式锁
  • 力扣-可回收且低脂的产品
  • 代码随想录刷题-数组-二分查找
  • HCIA复习1
  • Kotlin中的destructuring解构声明
  • Kubernetes Pod 水平自动伸缩(HPA)
  • 钉钉、企业微信和飞书向“钱”看
  • 网上购物网站的设计
  • 【Java学习笔记】8.Java 运算符